第一种:SharedPreferences
1.使用键值对的方式存储数据
2.通常用于:保存用户的偏好设置、选择是否保存密码、记录文档阅读的位置等
3.实现方式(写入):
a).获取SharedPreferences对象 getSharedPreferences("文件名",MODE_PRIVATE/MODE_MULTI_PROCESS)
前者表示只能当前应用程序访问该文件;后者表示可以多个进程访问该文件;文件是存放在:data/data//shared_prefs/目录下
b).调用edit()方法SharedPreferences.Editor对象
c).使用该对象调用putString()等方法填写键值
d).使用commit方法提交
注:读取操作的时候,只需要获取SharedPreferences对象,然后调用相应的方法即可(如:整型就调用getInt()方法)。
第二种:使用文件保存
分为:普通文件、xml格式的文件、json格式的文件
普通文件:使用java的输入输出流即可
xml格式的文件:
DOM:适用于解析文件内容比较少的 特点:将整个文件读取到内存,容易造成内存泄漏
SAX:基于事件驱动的,读一部分,解析一部分,适用于大型文件。但内容多,节点多的时候解析比较复杂
PULL:android官方推荐的方式
json格式的文件:获取文件内容之后(组成为一个字符串),使用android提供的相应API解析,主要对象是:JSONObject和JSONArray两个对象
第三种:使用SQLite数据库
创建数据库:继承SQLiteOpenHelper对象,将数据库名称传入构造方法即可
升级数据库:public void onUpgrade(SQLiteDatabase db,int oldversion,int newversion){
db.execSQL("drop table if exits Books");
onCreate(db);
}
插入数据:使用ContentValues对象
使用事务:db.beginTransaction()开启事务
db.setTransactionSuccessful()事务执行成功
最后在finally结束事务db.endTransaction()
第四种:使用内容提供器(ContentProvider)方式
使得应用程序之间可以共享数据
第五种:使用网络的形式
未完,持续更新