数据存储:文件存储、数据库存储
使用SharedPreference存储数据:提供了一套完整的框架用来存储基本类型数据的键值对(key=value mangoDB),例如Long、int、float、String等
文件存储数据
(1)Internal Storage(内部存储):手机的内部存储设备是以文件的形式保存数据的,因此只能在本程序使用,外部的应用程序无法访问该文件,同时文件数据也是临时性的,当卸载本程序时,该文件也会自动被删除。
(2)External Storage(外部存储):手机的外接存储设备也是以文件的形式存储数据,可以存储数据量较大的公共数据。外接的存储设备可以是移动式的(比如SD卡),应该注意的是,对于保存在外接设备的数据是不安全的,因为该设备中的数据对外部公开,用户可以进行读写操作,甚至删除数据。
SQLite数据库存储数据:SQLite是标准的关系型数据库,用户可以使用标准的SQL语句进行数据的增删改查,该数据库具有小巧、独立性高、隔离性好、安全性高、跨平台和多语言接口等优点,它被内置在Android系统中,用于存储一些较复杂类型的数据,且系统中比较大的数据一般也都是用SQLite数据库存储(这也是Google工程师为什么在Android中内置该数据库的原因)。
(1)Android手机存储分类
内部存储
外部存储:共有目录(需要申请权限)、私有目录(不需要访问权限)
(2)Android中的分块存储
I/O操作
读写文件步骤:
写文件:
1. 获得输出流 : FileOutputStream fo = openFileOutput(name,Context.MODE_PRIVATE);
2. 写内容 : fo.write(content.getBytes());
3. 关闭文件
读文件:
1. 获得输入流 : FileInputStream fi = openFileInput(name);
2. 创建字节数组,准备接受内容 byte[] by = new byte[100];
3. 读数据 fi.read(by);
4. 关闭文件 fi.close();
5. 把字节数组转化为 字符串 : String content = new String(by);
(3)Android权限动态申请