Android中存储数据回顾笔记
Sqlite数据库
- 存储位置: data/data/包名/databases/数据库
- 通过继承SQLiteOpenHelper创建数据库和表
- onCreate():当数据第一次创建的时候调用创建数据库
- onUpgrade():更新数据库的时候调用(当数据库版本大于之前的版本就会自动调用这个方法)
- 构造方法()
①上下文环境
②数据库的名字
③null
④version版本 - 通过SQLiteDatabase db = helper.getReadableDatabase();获取sqlite对象
- 已经有写好的数据库
- 首先将数据库拷贝到:data/data/包名/databases/数据库
- 打开已经存在的数据:openOrCreateDatabase(“数据库名字”,null);
SharedPreferences
- 一般用于存储:状态、参数值、变量值。。。
- 存储位置:data/data/包名/shared_prefs/文件名.xml
使用步骤:
①得到一个SharedPreferences对象:(模式:私有、可追加、所有应用可读写)
SharedPreferences sp = context.getSharedPreferences(“存储的文件名”, 模式);
②得到Editor对象
Editor et = sp.edit();
③存储数据
et.putString(key,value);
④提交
editor.commit();取出数据
①得到一个SharedPreferences对象
SharedPreferences sp = context.getSharedPreferences(“存储的文件名”, 模式);
②取数据
sp.getString(key,”默认值);
文件存储
内部存储
- 存储位置:data/data/包名/files
- 从内部files文件夹读:openFileInput(“文件名.txt”);
- 往内部files文件夹写:openFileOutput(“文件名.txt”, Context.MODE_PRIVATE);
- getCacheDir()方法:获取内部缓存的路径(这个文件夹中的内容当内存不足的时候会被自动清理)
外部存储
注意权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/> 往外部设备读写权限 <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/> 在外部设备创建或者删除的文件的权限
- 使用SD卡之前要判断SD卡是否可用
Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED) 可用
- 得到SD卡的路径
Environment.getExternalStorageDirectory()