记android学习之路----数据持久化之SharedPreferences
来源:互联网 发布:微信返利系统 淘宝客 编辑:程序博客网 时间:2024/06/04 18:29
SharedPreferences:
特征:
是通过将键值数据对存储在xml文件中的一种轻型数据存储方案;可存储String,Int,boolean,long,float五中数据类型;
对SharedPrefences的操作是通过Editer实例和SharedPrefences对象的;
其存储位置在/data/data/<包名>/shared_prefs目录下
一般存储一些配置信息
常用方法:
1:创建SharedPreferences实例:
1:通过Context的getSharedPreferences()创建对象;
//需要指定文件,如果指定的文件不存在则会自动创建该文件;
//可以被同一个应用下的组件共享!
SharedPrefences sp = getSharedPreferences(String name,model);
2:通过Activity的getPreferences()创建对象;
//只需要指定访问模式,该方法会自动将当前Activity的名称作为文件的名称;
//只能在当前activity中使用!
SharedPrefences sp = this.getPreferences(model);
2:对数据的存储和删除:
Editor edi = sp.edit(); edi.putString("name_key",value); edi.clear(); edi.remove("name_key");
3:对数据的获取:
Map(string,value) all_value = sp.getALL():获取所有的数据 sp.getString("name_key"); boolean value = sp.contains("key_name");
4:完整操作:
1:存储数据
Context context =Activity.this(); SharedPreferences sp = getSharedPreferences("myxml",Context.MODE_PRIVATE); Editor editer = sp.edit(); edit.putString("name_key",value); edit.putInt("name_key",value); edit.putBoolean("name_key",value); edit.commit();//提交存储
2:清除数据
SharedPreferences sp = context.getSharedPreferences("myxml", Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit(); editor.remove("username"); editor.remove("password"); editor.commit();// 提交修改
3:获取数据:
SharedPreferences sp = context.getSharedPreferences("myxml", Context.MODE_PRIVATE); String username = sp.getString("username", ""); int password = sp.getInt("password", 0);
创建SharedPreferences对象时的模式:
Context.MODE_PRIVATE; //为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容Context.MODE_MULTI_PROCESS; //模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.Context.MODE_WORLD_READABLE;Context.MODE_WORLD_WRITEABLE://用来控制其他应用是否有权限读写该文件.
实例:
创建SharedPrefences和editer实例
创建一个SharedPreferences实例:
private void createTable(){ sp = getPreferences(Context.MODE_PRIVATE); editor = sp.edit(); Log.i("data", "SharedPredferences obj create success"); }
执行结果如下:
存储一条数据:
private void insert(){ editor.putString("name","lili"); editor.putInt("age",22); editor.commit(); Log.i("data", "insert success"); }
执行结果如下:
查询一条数据:
现在查询刚才插入的数据
private void query() { //获取某个数据使用getXxx();Xxx是八个基本数据类型 String name = sp.getString("name",""); int age = sp.getInt("age",0); Log.i("data", "name is :"+name+"age is :"+age); }
结果如下:
获取所有数据:
private void getAllData(){ //获取所有数据返回的是个map; Map<String,?> map = sp.getAll(); Log.i("data", "name is :"+map.get("name")+"----age is :"+map.get("age")); }
清除一条数据:
public void removeOneData(String key){ edit.remove(key,value); edit.commit(); }
看下结果:
我们先删除一条数据,然后再查询所有的数据:
可以看到提示删除成功,并且打印所有数据发现,name这条数据已经不存在了;
- 记android学习之路----数据持久化之SharedPreferences
- Android数据持久化之SharedPreferences
- android数据持久化之SharedPreferences
- Android持久化数据之初识SharedPreferences
- android-数据持久化之SharedPreferences
- 数据持久化之SharedPreferences
- Android持久化之SharedPreferences
- 记android学习之路----数据持久化之SQLite
- 记android学习之路----数据持久化之file
- Android数据持久化之二:SharedPreferences 存储(上)
- Android数据持久化之二:SharedPreferences 存储(下)
- Android之数据持久化(SharedPreferences 存储)
- Android——数据持久化之SharedPreferences
- android--持久化技术之SharedPreferences
- Android持久化技术之SharedPreferences存储
- android数据持久化 SharedPreferences
- android(studio)之旅-最简单有用的android数据持久化技术-SharedPreferences
- 记android学习之路----数据持久化之sqlite操作实例1
- 【MongoDb入门】运维技术
- Swift3.0学习笔记-Generics
- python入门
- printf函数
- AOI中如何设计通用的图像处理方法
- 记android学习之路----数据持久化之SharedPreferences
- Android视频框架 Vitamio 打造自己的万能播放器
- 9_PalindromeNumber徒手尝试#4(Done)
- 【MongoDb入门】驱动实践
- 课堂笔记
- 记android学习之路----数据持久化之file
- python核心编程-第7章课后习题答案
- 面向对象程序设计上机练习八(对象数组)
- 11 26 笔记