Android数据存储方式,包括下面四种:

1. Shared Preferences:用来存储"key-value"paires格式的数据,它是一个轻量级的键值存储机制,只可以存储基本的数据类型。

主要用于系统配置信息的配置,例如:检测是不是第一次使用应用程序;设置的音效开关等。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。

2. Fils:它通过FileInputStream 和FileOutputStream对文件进行操作。但是文件Files在Android中是属于一个程序私有的,其他程序无法读写其他应用的文件。即无法实现共享。

3. SQLite:Android提供的标准的数据库,支持SQL语句。SQLite是一个开源的关系型数据库,与普通的关系型数据库一样。

4. Network:通过网络来存储和获得数据。将数据存储于网络,需要使用java.net.*和android.net.*这些类。

Shared Preferences

对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用什么方式保存软件配置参数呢?

Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。
 

A、存放数据信息

1、打开Preferences,名称为setting,如果存在则打开它,否则创建新的Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

2、让setting处于编辑状态

SharedPreferences.Editor editor = settings.edit();

3、存放数据

editor.putString(“name”,”ATAAW”);
editor.putString(“URL”,”ATAAW.COM”);

4、完成提交

editor.commit();

B、读取数据信息

1、获取Preferences

SharedPreferences settings = getSharedPreferences(“setting”, 0);

2、取出数据

String name = settings.getString(“name”,”默认值”);
String url = setting.getString(“URL”,”default”);

以上就是Android中SharedPreferences的使用方法,其中创建的Preferences文件存放位置可以在Eclipse中查看:

DDMS->File Explorer /<package name>/shared_prefs/setting.xml

 
再来一个例子:
 
SharedPreferences sharedPreferences = getSharedPreferences("zyj", Context.MODE_PRIVATE);
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "老李");
editor.putInt("age", 4);
editor.commit();//提交修改
生成的zyj.xml文件内容如下:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">老李</string>
<int name="age" value="4" />
</map>

下面来一个实例,用于判断是不是第一次使用应用程序,如果是第一次使用,则要求用户输入姓名、住址信息,如果不是第一次使用,则不需要输入这些信息。

最新文章

  1. mysql 连接池超时
  2. [NHibernate]一对多关系(关联查询)
  3. 【html5】常见标签使用说明(持续更新)
  4. OS开发拓展篇—应用之间的跳转和数据传
  5. factory工厂模式
  6. HBase 学习笔记---守护进程及内存调优
  7. mac 终端中添加tree命令显示文件目录结构
  8. 网络流(最大流) CQOI 2015 BZOJ 3931 网络吞吐量
  9. hyperv虚拟机网络速度慢问题的解决办法
  10. e297: write error in swap file
  11. 蓝牙协议分析(9)_BLE安全机制之LL Privacy
  12. Scrum Meeting day 3
  13. centOS7 修改DNS
  14. 调用聊天机器人 -小I机器人
  15. transition和animation区别
  16. RocketMQ使用
  17. R语言低级绘图函数-abline
  18. SenchaTouch调用纯数字键盘
  19. Java NIO API详解(转)
  20. fedora 系统安装后常用设置

热门文章

  1. 更新image的方法
  2. 【linux】Ubuntu中shell脚本无法使用source的原因及解决方法
  3. Zabbix通过Nginx状态来监控网站并发量
  4. HTML拾遗
  5. logrotate: 管理日志文件
  6. Spring DataSource&gt;DBCP &amp; C3P0
  7. Java远程方法协议(JRMP)
  8. 〖Linux〗多个JDK版本之间快速切换
  9. 〖Linux〗git push orgin master不能解析域名的解决方法
  10. linux 上配置tomcat、mysql 开机启动