阅读更多 [b]Android 之 数据存储与访问
概念:任何一个应用程序都要依赖数据存储,而且这种存储必须不丢失数据,并且有效、简便使用和更新这些数据。在Android操作系统中一共提供了四中数据存储方式,但是由于存储的这些数据都是私有的,所以如果需要共享其他应用程序的数据,就需要使用ContentProvider(数据共享);

1. Android 中数据存储的方式:4种
1) Shared Preferences :存储于手机自身内存,存储数据类型为:”键-值” 格式的数据
2) Files 存储:通过FileInputStream 和 FileOutStream 操作文件;
3) SQLite:标准的数据库存储,支持SQL 语句;
4) NetWork : 网络存储,通过网络存储和获取数据;


2. 数据存储之  SharedPreferences 存储:
1) 作用:使用键值一一对应关系保存配置信息;
2) 特点:键值的一一对应关系,保存的数据主要是简单的key-value 对
3) 说明:SharedPreferences ,一个轻量级存储类,特别适合用于保存软件配置参数;
4) 例如:保存上一次用户修改或自定义参数,音效,震动等…
5) 存储路径:/data/data//shared_prefs 目录下;
6) 操作模式:(创建xml文件时赋予文件的权限)
a) 文件创建模式:Activity.MODE_APPEND :如果该文件已经存在,然后将数据写入,而不是抹掉现有文件的末尾;
b) MODE_PRIVATE: 默认模式,在那里创建的文件只能由应用程序调用,即为私有的;
c) Activity.MODE_WORLD_READABLE :允许所有其他应用程序读取和创建文件的权限;
d) Activity.MODE_WORLD_WRITEABLE :允许所有其他应用程序具有写入、访问和创建的文件权限;
7) 实例演示存放步骤:
a) SharedPreferences sp = getSharedPreferences(“文件名”,”模式”);   //获取对象
b) Editor editor= sp.edit();    //通过SharedPreferences 对象获取Editor 对象
c) Editor.putXXX(key,value);   //存入数据
d) editor.commit();  // 提交修改的数据

8) 实例演示读取步骤:
a) SharedPreferences sp = getSharedPreferences(“读取文件名”,”模式”);
b) sp.getXXX(key);   // 获取数据
9) 缺点:只能存储boolean int float  long  string 五种简单的数据类型,只能是存储方式的一种补充;
 
3. 数据存储之 文件存储:
1) Activity 中使用 openFileOutput() 方法用于把数据输出到文件中;
2) 写入文件内容用法:
a) FileOutputsStream out = this.openFileOutput(“a.txt”,”操作模式”);
3) 操作模式:
a) Context.MODE_PRIVATE  : 默认,代表该文件是私有数据;
b) Context.MODE_APPEND :想已经存在的文件追加内容;
c) Context.MODE_WORLD_WRITEABLE :是否有权限写入该文件
d) Context.MODE_WORLD_READABLE : 是否被其它应用读取;
e) 提示:可以读  和 写 的权限可以联合进行使用:中间用  “+” 链接;
4) 保存位置:/data/data//files 目录下
5) 读取文件内容用法:
a) 相对路径用法:FileInputStream fis = this.openFileInput(“文件名”);
b) 绝对路径用法:File file = new File(“/data/data/sun.android/files/a.txt”);  FileInputStream fis = new FileInputStream(file);
6) 提示:如果自定义类中需要使用到Activity中的对象,那么在该类中定义构造方法用于接收Activity传递多来的对象,同样可以进行使用的;

4. 数据存储之 SQLite 数据库:
1) 简介:SQLite 是一个开源的嵌入式关系数据库;
2) 优点:可以减少应用程序管理数据的开销,可移植性好,容易使用,体积小,高效可靠;
3) 特点:
a) 可以将SQLite数据库看成 无数据类型的数据库,因为可以自行转换;主键为Integer ,则,只能存储 64位整数;
b) 零配置:不用安装,不用配置,不用启动,不用关闭;
c) 可移植:商用系统 , 嵌入式操作系统,都可以使用
d) 紧凑:轻量级、自包含。一个头文件,一个lib库,就可以使用关系数据库了,不用启动任何进程;
e) 简单:SQLite有着简单易用的API接口;
f) 可靠:SQLite源码达到100%覆盖率;
4) 如何使用:
a) SQLiteDatabase 代表着一个数据库对象(底层为一个数据库文件);
b) SQLiteOpenHilper :用于创建、打开数据库以及各种数据库的操作; 说明:该类为一个抽象类,抽象方法:onCreate();  onUpgrade(); 
c) 说明总结:如果数据库不存在,只调用onCreate() 方法,该方法只会在数据库第一次创建时调用; 如果数据库文件存在,并高于之前版本,会调用onUpgrade方法来升级数据库,并更新版本号;
[/b]

更多相关文章

  1. Android中的soundpool小结
  2. android js脚本续
  3. Delphi XE5 for Android(安卓)(十)
  4. Android消息处理框架:Looper,Handler,MessageQueue
  5. android jni开发环境的搭建
  6. Android系统adb_shell命令大全
  7. Android程序反编
  8. [android]Framework新增系统服务
  9. Android存储之SharedPreferences

随机推荐

  1. wampserver无法启动之mysql疑难杂症
  2. Linux下mysql数据库root无法登录的情况
  3. CentOS 6.5下源码安装mysql 5.5
  4. 在MySQL中将数据从LATIN1转换为UTF8
  5. mysql升级的一些踩坑点
  6. JSON保存在数据库中并使用JQuery加载
  7. mysql忘记root密码做法
  8. Mongodb Mysql NoSQL的区别和联系
  9. 使用sharpdevelop连接MySQL
  10. 链接表和SQL SELECT查询