数据持久化
文件操作模式
- Context.MODE_PRIVATE:私有
- Context.MODE_APPEND:追加
SharedPreferences
接口类,用键值对的方式存放数据,以xml格式存在设备的/data/data/包名/shared_prefs/下。
允许存储六种数据类型:int、long、float、boolean、String和Set \<String>
获取对象
文件名不带后缀,this是Activity上下文对象,如果不在Activity内调用需要手动获取
模式只能用私有。
写入对象
-
获取编辑器对象
-
写
-
提交
读对象
移除对象
-
获取编辑器对象
-
移除
-
提交
同写入
文件存储
分为内部存储和外部存储。
内部存储
手机内存,仅能被应用程序自身访问,位于/data/data/包名/file/
-
写
相关方法需要对可能的FileNotFoundException异常和IOException异常进行异常处理
-
读
异常处理同上
外部存储
SD卡类似的存储介质,位于
- 开启SD卡权限
SQLite数据库存储
轻量级关系数据库,支持NULL、REAL(浮点数)、INTEGER(整数)、TEXT(字符串文本)和BLOB(二进制对象),存储在后缀为db的文件里,路径为/data/data/包名/database/目录下
创建数据库
- 自定义继承SQLiteOpenHelper的类
-
重写构造方法
-
重写onCreate方法
-
重写Upgrade()方法
在数据库存在且版本号发生变化后调用
-
在Activity中实例化自定义类
数据库的增删查改
- 在Activity中实例化类