记录安卓的数据存储方式。
四种存储方式
默认保存路径,当前app文件夹内。
SharedPrefernces
- 本质是基于xml文件存储键值对(key-value)数据,通常用来存储一些简单的配置信息(单一数据的持久化缓存)。
- 生成的xml文件保存目录为:
/data/data/程序包名/shared_prefs
- 可以存储的数据类型:boolean、float、int、long、String。
- 应用卸载,xml文件会被删掉
文件存储
- 常用于存储数量比较大的数据,缺点是更新数据比较困难。
- 保存在app文件夹内,删除app后会一并被删掉。保存在SD卡内(其他路径),不会被一并删掉。
SQLite,轻量级的数据库。
ContentProvider,可实现应用程序之间数据共享的一种存储方式。
SharedPrefernces
使用:
代码演示
页面布局:
用户勾选“记住账号”,则使用SharedPrefernces将用户的账号、密码保存在设备上。下次打开app时自动填充账号密码。
设置全局变量:
1 |
private SharedPreferences sp;//读对象 |
在onCreate方法中,初始化全局变量:
1 |
acc = (EditText)findViewById(R.id.account); |
使用sp对象读取数据,初始化输入框(如果有本地数据的话,自动填充账号密码):
1 |
|
给按钮添加监听事件 (类实现接口 View.OnClickListener):
1 |
findViewById(R.id.login).setOnClickListener(this); |
点击登录按钮后,处理逻辑:
1 |
|
使用editor保存数据到SharedPrefernces的xml文件中:(代码在onClick方法中)
1 |
editor.putString("account",account);//保存数据 |
文件保存目录为:/data/data/程序包名/shared_prefs
。
SQLite(重点)
考试要考。
步骤
代码演示
页面布局:
编写SQLiteOpenHelper子类,用于创建数据库或表。这里创建数据库student.db、数据表user,并插入两条数据。
代码实现:
1 |
package com.example.myapplication; |