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();
    }
}

 

posted @ 2021-03-08 19:21  天岁  阅读(62)  评论(0编辑  收藏  举报