• 3.8学习总结——Android保存信息


    为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。

    SharedPreferences共有四种操作模式,这四种模式代表的含义为:

    Context.MODE_PRIVATE    =  0

    Context.MODE_APPEND    =  32768

    Context.MODE_WORLD_READABLE =  1

    Context.MODE_WORLD_WRITEABLE =  2

    Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND

    Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。

    Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。

    MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
    --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    在android中用sharedPreference保存信息,可用来页面之间的传值,对信息的调用。

    代码:(保存账号,密码,年龄,性别等信息)

    public class MySharedPreferences {
        public static SharedPreferences share(Context context){
            SharedPreferences sharedPreferences = context.getSharedPreferences("date", Context.MODE_PRIVATE);
            return sharedPreferences;
        }
    
        //name 账号
        //调用上面的 share(Context context) 方法 获取标识为 "name" 的数据
        public static Object getName(Context context){
            return share(context).getString("name",null);
        }
        //调用上面的 share(Context context) 方法 将数据存入,并标识为 "name"
        //使用 commit() 方法保存会给出反应(保存成功或失败)
        public static boolean setName(String name, Context context){
            SharedPreferences.Editor e = share(context).edit();
            e.putString("name",name);
            Boolean bool = e.commit();
            return bool;
        }
    
        //pswd 密码
        public static String getPswd(Context context){
            return share(context).getString("pswd",null);
        }
        //这里使用的是 apply() 方法保存,将不会有返回值
        public static void setPswd(String pswd, Context context){
            SharedPreferences.Editor e = share(context).edit();
            e.putString("pswd",pswd);
            e.apply();
        }
    
        /**
         * 可以根据需求选择用那种方式保存数据
         * (需不需要告诉你有没有保存成功)
         */
    
        //sex 性别
        public static String getSex(Context context){
            return share(context).getString("sex",null);
        }
        public static void setSex(String sex, Context context){
            SharedPreferences.Editor e = share(context).edit();
            e.putString("sex",sex);
            e.apply();
        }
    
        //age 年龄
        public static String getAge(Context context){
            return share(context).getString("age",null);
        }
        public static void setAge(String age, Context context){
            SharedPreferences.Editor e = share(context).edit();
            e.putString("age",age);
            e.apply();
        }
    }
  • 相关阅读:
    python自动化测试(3)- 自动化框架及工具
    python自动化测试(2)-自动化基本技术原理
    软件开发过程自动化原理及技术(完整示例)
    网络验证码--你到底是爱它还是恨它?
    python的高性能web应用的开发与测试实验
    接口应用小玩具-博客园积分排名变动监控工具
    openwrt-智能路由器hack技术(2)---"网路信息监控和窃取"
    Java中的Date和时区转换
    fastjson JSONObject遍历
    【git】强制覆盖本地代码(与git远程仓库保持一致)
  • 原文地址:https://www.cnblogs.com/1305536110-dym/p/14904623.html
Copyright © 2020-2023  润新知