SharedPreferences
SharedPreferences 用于数据持久化,可以存储一下常用的配置信息;不适合存储业务数据,防止访问效率低下并且可操作性差.
下边我们来介绍一下SharedPreferences的具体使用方法:
1.创建SharedPreferences
//获取SharedPreferences实例,第一参数是要保存的文件名,第二个参数是操作模式,默认是MODE_PRIVATE
SharedPreferences sharedPreferences = getSharedPreferences("文件名", MODE_PRIVATE);
//获取edit实例,通过edit向SharedPreferences文件中写入内容
SharedPreferences.Editor edit = sharedPreferences.edit();
//可以调用一下方法存值, 参数内容均是,第一个参数是key, 第二个参数是对应类型的值
edit.putBoolean();
edit.putFloat();
edit.putInt();
edit.putLong();
edit.putString();
edit.putStringSet();
//取值可以直接通过SharedPreferences 实例来调用方法取值,例如:
sharedPreferences.getInt("count", 0); // 这里就是尝试获取一个int类型的值,如果count不存在,那么就是用第二参数的值(默认值)
Android中创建文件
1.在手机闪存中创建一个文件
File file = new File(getFilesDir(), "helloWorld.txt");
file.createNewFile();
2.在外部sd卡中创建一个文件
//获取sd卡的状态
String externalStorageState = Environment.getExternalStorageState();
//确认sd卡是否已安装
if (TextUtils.equals(externalStorageState, Environment.MEDIA_MOUNTED)) {
File externalFile = new File(getExternalFilesDir(null), "hello1.txt");
externalFile.createNewFile();
}
3.向文件中写入内容
//通过输出流来写入内容,openFileOutput获取指定文件的输出流
//这里需要注意,输入与输出均指的是程序,即向文件写入内容,实际上是程序在做输出操作
//Context.MODE_PRIVATE 使用这种模式将向文件从新写入内容,而不会保留已存在的内容
FileOutputStream fos = openFileOutput("helloWorld.txt", Context.MODE_PRIVATE);
fos.write("我是一只小花猫".getBytes()); // 获取字符串的字节流
fos.close(); //注意关闭哦
需要注意的有以下几点
1.getFilesDir() 是获取手机闪存中的路径
2.getExternalFilesDir(null) 获取的是sd卡中的路径
3.上述两个方法均应该在上下文中使用,比如:activity.因为这两个方法就是来自ContextWrapper类
4.getExternalFilesDir(null) 的参数也有多个,默认null的时候为sd卡中的Android/data/项目包名/files
其他的参数有DIRECTORY_MUSIC, DIRECTORY_PODCASTS, DIRECTORY_RINGTONES, DIRECTORY_ALARMS, DIRECTORY_NOTIFICATIONS, DIRECTORY_PICTURES, or DIRECTORY_MOVIES.
分别对应了音乐,电影等等