1.内存:关掉应用,掉电清空数据
2.外存:掉电不清空数据
Shared Preferences 参数共享
Internal Storage 内部存储
External Storage 外部存储 (sdcard)
SQLite Databases 数据库存储
Network Connection 网络存储
1、SharedPreferences 参数共享
应用场景:保存应用程序中少量的关键数据
文件保存位置:data/data/包名/sharedp..../MainActivity.xml
保存格式: xml
//保存数据
//得到SharedPreferences对象
//SharedPreferences sp = getSharedPreferences("hehe", 0);
SharedPreferences sp = getPreferences(0);
//获得编辑器对象
Editor edit = sp.edit();
//编辑数据
edit.putString("name", "小丽");
edit.putBoolean("married", false);
edit.putInt("age", 23);
//提交数据
edit.commit();
2、InternalStorage 内部存储 (不需要权限)
保存路径:/data/data/包名/files/文件名
格式:自定义
读写模式
MODE_PRIVATE 私有的,只有当前应用才有权限进行
读写操作,数据会覆盖
MODE_APPEND 私有的,只有当前应用才有权限进行
读写操作,数据会追加
MODE_WORLD_READABLE 其他应用可读
MODE_WORLD_WRITEABLE 其他应用可写
3、ExternalStorage 外部存储
对于不同版本,sdcard存储位置会不同
// 获取sdcard的路径
Filefile = Environment.getExternalStorageDirectory();
Stringpath = file.getAbsolutePath();
Stringstr = path+"/abc.txt";
Toast.makeText(this,path, Toast.LENGTH_SHORT).show();
//判断sdcard是否可用
if(Environment.MEDIA_MOUNTED.equals(Environment
.getExternalStorageState())){
}
4、SQLiteDatabases 数据库存储
场景:结构相似的数据,频繁地进行增删改查操作的时候
android平台,集成了一个数据库----> SQLite
特性:
免费
轻量级
跨平台
多线程
SQL语句
创建表
CREATE TABLE 表名 (id INTEGER PRIMARY KEY
AUTOINCREMENT, nameVARCHAR(20))
CREATE TABLE student (id INTEGER PRIMARY
KEY AUTOINCREMENT,nameVARCHAR(20),
phone VARCHAR(20))
修改表
ALERT TABLE 表名 ADD 字段 属性
ALTER TABLE student ADD age INTEGER
删除表
DROP TABLE 表名
增
INSERT INTO 表名 (字段名) VALUES (值)
删
DELETE FROM 表名 WHERE 条件语句
改
UPDATE 表名 SET 字段名=值 WHERE 条件语句
查
SELECT * FROM 表名 WHERE 条件语句 GROUP BY 分组语句
ORDER BY 排序
HAVING 分组条件
DESC 降序
ASC 升序