博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android SharedPreference 数据存储
阅读量:4489 次
发布时间:2019-06-08

本文共 1858 字,大约阅读时间需要 6 分钟。

参考:http://www.cnblogs.com/friends-wf/p/4835818.html

应用开发过程中,数据存储几乎是肯定会遇到的问题,根据要存储的数据类型和数量,可以选择合适的存储方式。

Android提供了4种存储方式,目前为止我只用过Sqlite数据库和SharedPreference,这里对SharedPreference

存储方式进行总结,以便以后使用。

SharedPreferences主要用于存放软件的配置参数等信息,是存取和修改软件配置参数数据的接口,由getSharedPreferences(String, int)函数返回。任何具体的参数,都有一个单独的该类实例向所有客户端共享。修改参数必须通过SharedPreferences.Editor 对象,以确保这些参数在被提交到外存的时候它们的值处于一致的状态和控制之下。该类暂不支持多进程操作,但是以后将提供该功能。

 

getSharedPreferences(name,mode);

第一个参数name是程序存储数据信息所生成的xml文件的名字,自定义,此为LightTest.xml,可在此程序的/shared_prefs文件夹下找到
第二个参数mode则是文件的打开方式,默认的模式为0或MODE_PRIVATE,表示该文件的使用范围
  MODE_PRIVATE,则该配置文件只能被自己的应用程序访问
  MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取
  MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入

代码:

// Data Storage    /**     * 存储:     * 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;     * 2.获得Editor的实例对象,通过SharedPreferences的实例对象的edit()方法;     * 3.存入数据,利用Editor 对象的putXXX()方法;     * 4.提交修改的数据,利用Editor 对象的apply()方法。     */    private void setSharedPreferenceData(String Name, String dataStr) {        //获取SharedPreferences        SharedPreferences sharedPref = getSharedPreferences("LightTest", MODE_PRIVATE);        //打开SharedPreferences的编辑状态        SharedPreferences.Editor editor = sharedPref.edit();        //存储数据,用户名,键值对的形式        editor.putString(Name, dataStr);        //提交,保存数据        editor.apply();    }    // Data Reader    /**     * 读取:     * 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;     * 2.读取数据,通过SharedPreferences 的实例对象的getXXX()方法。     */    private String getSharedPreferenceData(String Name) {        //获取SharedPreferences        SharedPreferences sharedPref = getSharedPreferences("LightTest", Context.MODE_PRIVATE);        //获取LightTest文件中Name对应的数据;        // 注意第二个参数,若此键值对中暂时没有数值,则默认返回第二个参数的值        return sharedPref.getString(Name, null);    }

 

转载于:https://www.cnblogs.com/fansen/p/5238779.html

你可能感兴趣的文章
SSH隧道技术简介
查看>>
PAT乙级1025
查看>>
找的好网站(macdow语法,扫描二维码,)
查看>>
浏览器插件开发遇到的问题
查看>>
JS之正则表达式
查看>>
EF Core 1.0 和 SQLServer 2008 分页的问题
查看>>
BZOJ1798: [Ahoi2009]Seq 维护序列seq
查看>>
PS--人物黄金色调
查看>>
开启ucosii的移植之旅
查看>>
推荐一款能写原创诗词的小程序
查看>>
Codeforces Round #496 (Div. 3) ABCDE1
查看>>
Bundle display name 与 Bundle name 的区别
查看>>
020 RDD的理解
查看>>
【WebApi】————.net WebApi开发(二)
查看>>
Vector
查看>>
Linux Supervisor的安装与使用入门
查看>>
为什么要应用编排,应用编排能做什么?
查看>>
实习生招聘笔试
查看>>
Linux忘记root登录密码解决方法
查看>>
String类的常用方法
查看>>