android上如何写配置文件:使用SharedPreferences

SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,比如Activity状态,Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。SharedPreferences提供了java常规的Long、Int、String等类型数据的保存接口。 SharedPreferences类似过去Windows系统上的ini配置文件,但是它分为多种权限,可以全局共享访问。提示最终是以xml方式来保存,整体效率来看不是特别的高,对于常规的轻量级而言比SQLite要好不少,如果真的存储量不大可以考虑自己定义文件格式。xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好

通过SharedPreferences可以保存程序的某些配置信息,而程序员不需要知道它到底以什么形式保存的,保存在了什么地方。

在Android系统中,SharedPreferences中的信息以XML文件的形式保存在 /data/data/PACKAGE_NAME/shared_prefs目录

获取SharedPreferences的两种方式:

1 调用Context对象的getSharedPreferences()方法

2 调用Activity对象的getPreferences()方法

两种方式的区别:

调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.

调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.

SharedPreferences的四种操作模式:

Context.MODE_PRIVATE

Context.MODE_APPEND

Context.MODE_WORLD_READABLE

Context.MODE_WORLD_WRITEABLE

 

Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件.

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

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

例子:

将数据保存至SharedPreferences:

SharedPreferencespreferences=getSharedPreferences("user",Context.MODE_PRIVATE);

Editor editor=preferences.edit();

String name="xixi";

String age="22";

editor.putString("name", name);

editor.putString("age", age);

editor.commit();

 

从SharedPreferences获取数据:

SharedPreferencespreferences=getSharedPreferences("user", Context.MODE_PRIVATE);

Stringname=preferences.getString("name", "defaultname");

Stringage=preferences.getString("age", "0");

更多相关文章

  1. Retrofit2+Restful api的入门使用
  2. Android(安卓)字体大小怎么自适应不同分辨率?
  3. Android(安卓)开发相关命令集合
  4. android打包so文件到apk
  5. Android(安卓)Studio开发NDK用C++的坑
  6. Android之数据存储笔记
  7. [Android] Linux下查看apk文件程序包名的办法
  8. 解决android sdk manage打开闪退的解决方法
  9. Android开发中遇到的几个问题及解决方案

随机推荐

  1. 解決 android studio更新失败的一种情况
  2. [置顶] android性能测试工具之dumpstate
  3. [Unity3D]Unity3D游戏开发之Unity与Andro
  4. Android(安卓)7.1编译问题 FAILED: /bin/
  5. Android推荐使用的尺寸单位dp和sp
  6. Android应用程序框架思路整理
  7. Android实现短信验证功能(功能的使用)
  8. Android(安卓)开发之旅:短信的收发及在and
  9. Android(安卓)小米盒子游戏手柄按键捕获
  10. Android官方架构组件LiveData: 观察者模