zoukankan      html  css  js  c++  java
  • Android存储机制之Preference

      Preference提供了一种轻量级的数据存取方法,主要是数据比较少的配置信息。它以键值对的方式将数据保存在一个XML配置文件中。

      使用Preference方式来存取数据,用到了SharedPreferences接口和SharedPreferences的一个内部接口SharedPreferences.Editor。

      调用Context.getSharedPreferences(String name, int mode)得到SharedPreferences接口,name是XML文件名称,mode是打开方式(MODE_PRIVATE(私有),MODE_WORLD_READABLE(可读),MODE_WORLD_WRITEABLE(可写))。

      SharePreferences提供了获取不同类型数据的方法,getT(String key, T defValue)(这里T代表数据类型),key为键名称,defValue为默认值。调用SharePreferences的edit()方法来获得SharedPreferences.Editor内部接口,该接口提供提供了保存数据的方法,putT(String key, T value),然后调用commit()方法将数据保存。

    SharePreferences接口的常用方法如下:

    方法名称 方法描述
    edit() 返回SharedPreferences的内部接口SharedPreferences.Editor
    cantains(String key) 判断是否包含该键值
    getAll() 返回所有配置信息Map
    getT(String key, T defValue) 获取一个T值,T为基本类型,T可被替换为“Boolean”,“Float”,“Int”,“Long”或“String”。

    SharePreferences.Editor接口的常用方法如下:

    方法名称 方法描述
    clear() 清除所有值
    commit() 保存
    getAll() 返回所有配置信息Map
    putT(String key, T value) 保存一个T值
    remove(String key) 删除该键对应的值

    EG:

    //获取值
    String programset = "PROGRAMSET";
    SharedPreferences pre = getContext().getSharedPreferences(programset,MODE_WORLD_READABLE);
    String message = pre.getString("MESSAGE","");
    
    //保存值
    String programset = "PROGRAMSET";
    SharedPreferences.Editor editor = getContext().getSharedPreferences(programset,MODE_WORLD_READABLE).edit();
    editor.putString("MESSAGE","HELLO WORLD");
    deitor.commit();
    

    被保存的数据作文XML文件被保存到了/data/data/package/shared_prefs/下面了。

  • 相关阅读:
    20170803 Airflow自带的API进行GET 和POST动作部分内容
    20170731 培训Bootstrap
    20170728 Celery项目 后台处理SQL SERVER的一个异常
    python 之 递归
    编译型语言和解释型语言的区别
    如何在命令行中让python2和python3同存
    bzoj 1579: [Usaco2009 Feb]Revamping Trails 道路升级——分层图+dijkstra
    单调栈题目总结
    汕头市队赛SRM15
    codevs 1269 匈牙利游戏——次短路(spfa)
  • 原文地址:https://www.cnblogs.com/ScorchingSun/p/3653202.html
Copyright © 2011-2022 走看看