• SharePreferences类的使用


    简述:以key-value键值对的方式将数据保存到Android自身定义的文件夹(/data/data/<package name>/shared_prefs  root才可见的文件夹)中,并利用该类实现写入和输出。

    使用

    SharedPreference类实现读取数据(主要方法):

    boolean contains(String key):判断文件中是否包含这种key

    abstract Map<String,?>getAll();获取SharedPreference数据里的所有key-value。

    boolean getXxx(String key,xxx defValue):根据key获取指定value,xxx代表基础引用类型(int,String,float,boolean等),defValue为缺省值(当从数据中返回的值为null则返回defValue)

    SharedPreference.Editor实现存储(主要方法)//因为SharedPreferences接口本身并没有提供写入数据的能力,所以利用edit()获取Editor对象,实现存储

    clear();清空SharedPreference内所有数据

    putXxx(String key,xxx value);按照key-value存储数据,xxx表示基础引用类型

    remove(String key);移除指定key对应的value

    commit();当Editor编辑完之后需要提交

    获取SharedPreference对象:

    SharedPreference本身是接口本身,程序无法直接创建实例,需要利用Context.getSharedPreferences(String fileName,int mode;

    fileName:文件名

    mode:

    1. MODE_APPEND: 追加方式存储

    2. MODE_PRIVATE: 私有方式存储,其他应用无法访问

    3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取

    4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入

    实例

    public class NewActivity extends AppCompatActivity {
        private static final String FileName="FirstSharedPreference";
        @Override
        protected void onCreate(@Nullable Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            SharedPreferences sharedPreferences = getSharedPreferences(FileName,MODE_PRIVATE);//获取SharePreferences对象
            SharedPreferences.Editor editor = sharedPreferences.edit();//获取SharedPreferences的编辑器
            editor.putBoolean("test1",true);//输入数据
            editor.putString("test2","good");
            editor.commit();//写入准备完成,提交数据
            Boolean isTrue = sharedPreferences.getBoolean("test1",false);//读取数据
            String good = sharedPreferences.getString("test2","bad");
        }
    }
  • 相关阅读:
    sqlite3中给表添加列
    webpack打包后服务端__dirname失效问题
    nodejs查看本机hosts文件域名对应ip
    vscode远程调试node服务端
    git 删除错误commit
    npm安装模块没有权限解决办法
    node gyp编译所需要的环境
    npm和yarn的淘宝镜像添加
    笨办法学Python 笔记
    梯度下降法优化线性回归算法参数
  • 原文地址:https://www.cnblogs.com/rookiechen/p/5280042.html
Copyright © 2020-2023  润新知