• Android SharedPreferences存储(一):保存用户偏好参数


    一、SharedPreferences 

    1.1、SharedPreferences本身就是一个接口,不能直接创建实例,只能通过Context提供的
    getSharedPreferences(String name,int mode)方法获取SharedPreferences实例

    • Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,
    • 在该模式下,写入的内容会覆盖原文件的内容
    • Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
    • Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取
    • Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入   

    Android 4.2 Android 不再推荐MODE_WORLD_READABLE、MODE_WORLD_WRITEABLE这两种模式,这两种
    模式允许其他应用程序来读写应用创建的数据,容易导致安全漏洞。要用也可以,系统签名

    1.2、XHService.java  MODE_MULTI_PROCESS 跨进程同步

        private void WriteNewPowerOffTime(Context mContext,String offTime)
        {
                try 
                {
                        Context context = mContext.createPackageContext("com.android.providers.settings",
                        Context.CONTEXT_IGNORE_SECURITY);
                        SharedPreferences sp = context.getSharedPreferences("poweroffon_time", 
                                        Context.MODE_WORLD_READABLE|Context.MODE_MULTI_PROCESS|Context.MODE_WORLD_WRITEABLE);
                        Editor editor = sp.edit();
                        editor.putString("offTime",offTime);
                        editor.commit();
                } catch (NameNotFoundException e) {
                }
        }

     二、SharedPreferences  使用

        SharedPreferences sharedPreferences;
        SharedPreferences.Editor editor;
    
        sharedPreferences = getSharedPreferences("Crush", MODE_PRIVATE);
        editor = sharedPreferences.edit();
        //WRITE
        editor.putString("name", "gatsby");
        editor.putInt("age", 25);
        editor.commit();
        //READ
        String NAME = sharedPreferences.getString("name", null);
        int AGE = sharedPreferences.getInt("age", 0);
        tv1.setText("name-> "+NAME+",age-> "+AGE);
  • 相关阅读:
    Annotation Type ManyToMany->>>>>Oracle
    windows 控制台默认为UTF-8显示的方法
    springboot读取配置文件
    Spring Boot配置文件放在jar外部
    Vue自定义过滤器
    vue中limitBy,filterBy,orderBy的用法
    track-by的使用
    Vue的computed属性
    vue实现百度下拉框
    Cas服务器以及客户端搭建
  • 原文地址:https://www.cnblogs.com/crushgirl/p/13196546.html
Copyright © 2020-2023  润新知