对应《第一行代码》第六章
1.数据持久化
概念:将内存中的瞬时数据保存在存储设备中。保存在内存中的数据是处于瞬时状态,保存在存储设备中的数据是处于持久状态。
2.文件存储(不适用保存一些较为复杂的文本数据)
2.1将数据存储到指定的文件中
Context类中openFileOutput()方法:将数据存储到指定的文件中
2.2从文件中读取数据
Context类中openFileInput()方法:从文件中读取数据。只接收一个参数,即读取文件名,
3.SharedPreferences存储
方式:使用键值对方式存储数据
优点:比文件存储方法方便
3.1将数据存储到SharedPreferences中
1.Context类中getSharedPreferences()方法
2.Activity类中getPreferences()方法
3.PerferenceManager类中的getDefaultSharedPreferences()方法
3.2 从SharedPreferences中读取数据
3.3 实现记住密码功能
4 SQLite数据库存储
4.1 创建数据库
SQLiteOpenHelper是抽象类,有两个抽象方法:onCreate()和onUpgrade()
getReadableDatabase():可创建或打开一个现有数据库,当数据库不可写入时,该方法返回的对象将以只读的方式打开数据库。
getWritableDatabase():可创建或打开一个现有数据库,当数据库不可写入时,该方法将出现异常。
SQLite中:integer表示整型,real表示浮点型,text表示文本类型,blob表示二进制类型
查看表的方法:
使用Android SDK中的adb,需要配置环境变量(具体步骤在第一行代码6.4.1部分)
4.2升级数据库
4.3添加数据
insert()用于添加数据,
4.4更新数据
updatae()
4.5删除数据
delete()
4.6查询数据
5 使用LitePal操作数据库
5.3创建和升级
5.4添加数据
创建出模型类的实例,再将所有要存储的数据设置好,最后调用save()方法
5.5更新数据
model.isSaved():判断对象是否已存储,true表示已存储,false表示未存储
setToDefault():将数据更新为默认值
5.6 删除数据
5.7查询数据
eg:查询book表中所有数据
List<Book> books = DataSupport.findAll(Book.class);