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不存在,那么就是用第二参数的值(默认值)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. 分别对应了音乐,电影等等