数据持久化
1.文件持久化:
Context类中提供的 openFileInput()和 openFileOutput()方法, 以后就是利用 Java的各类流来进行读写
操做就能够了。默认路径:/data/data/<package name>/files/数据库
2.SharedPreferences 存储
不一样于文件的存储方式,SharedPreferences 是使用键值对的方式来存储数据的。也就是
说当保存一条数据的时候,须要给这条数据提供一个对应的键,这样在读取数据的时候就可
以经过这个键把相应的值取出来。并且 SharedPreferences还支持多种不一样的数据类型存储,
若是存储的数据类型是整型,那么读取出来的数据也是整型的,存储的数据是一个字符串,
读取出来的数据仍然是字符串。文件存放在:/data/data/<packagename>/shared_prefs/
1.获取该类的方法有三种:
1.Context类中的 getSharedPreferences()方法
2.Activity类中的 getPreferences()方法
3.PreferenceManager类中的 getDefaultSharedPreferences()方法
2.使用方式:
1. 调用 SharedPreferences对象的 edit()方法来获取一个 SharedPreferences.Editor 对象。
2. 向 SharedPreferences.Editor 对象中添加数据,好比添加一个布尔型数据就使用
putBoolean 方法,添加一个字符串则使用 putString()方法,以此类推。
3. 调用 commit()方法将添加的数据提交,从而完成数据存储操做。对象
3.SQLite 数据库存储
1.继承SQLiteOpenHelper类,重写onCreate方法和onUpgrade方法
2.数据库文件会存放在/data/data/<package name>/databases/目录下
3. getReadableDatabase() 和getWritableDatabase()。
这两个方法均可以建立或打开一个现有的数据库(若是数据库已存在则直接打开,不然建立一个新的数据库),
并返回一个可对数据库进行读写操做的对象。不一样的是,当数据库不可写入的时候(如磁盘空间已满)
getReadableDatabase()方法返回的对象将以只读的方式去打开数据库,而 getWritableDatabase()方法则将出现异常
4.事务
1. SQLiteDatabase.beginTransaction(); // 开启事务
2.SQLiteDatabase.setTransactionSuccessful(); // 事务已经执行成功
3.SQLiteDatabase.endTransaction(); // 结束事务
5.数据建立要保证一会被调用一次,否则会出现数据冲掉的现象继承