三、将数据存储到文件中
Context 类中提供了一个 openFileOutput ()方法,可以用于将数据存储到指定的文件中。
这个方法接收两个参数,第一个参数是文件名(不包含路径),第 二 个 参 数 是 文 件 的 操 作 模 式 , 主 要 有 两 种 模 式 可 选 ,
MODE_PRIVATE 和 MODE_APPEND。其中 MODE_PRIVATE 是默认的操作模式,表示当指定同样文件名的时候,所写入的内容将会覆盖原文件中的内容,
而 MODE_APPEND 则表示如果该文件已存在就往文件里面追加内容,不存在就创建新文件。
public void save() {
String data = "Data to save";
FileOutputStream out = null;
BufferedWriter writer = null;
try {
out = openFileOutput("data", Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(data);
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if (writer != null) {
writer.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
四、从文件中读取数据
Context 类中提供了一个 openFileInput()方法,它只接收一个参数,即要读取的文件名
public String load() {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder content = new StringBuilder();
try {
in = openFileInput("data");
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
while ((line = reader.readLine()) != null) {
content.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return content.toString();
}
五、SharedPreferences 存储
1. Context 类中的 getSharedPreferences()方法
2. Activity 类中的 getPreferences()方法
3. PreferenceManager 类中的 getDefaultSharedPreferences()方法
使用:
1.获取 SharedPreferences 实例
2. 调用 SharedPreferences 对象的 edit()方法来获取一个 SharedPreferences.Editor 对象。
SharedPreferences.Editor editor = getSharedPreferences("data",MODE_PRIVATE).edit();
3. 向 SharedPreferences.Editor 对象中添加数据, 比如添加一个布尔型数就使用putBoolean方法,添加一个字符串则使用 putString()方法,以此类推。
editor.putString("name", "Tom");
editor.putInt("age", 28);
editor.putBoolean("married", false);
4. 调用 commit()方法将添加的数据提交,从而完成数据存储操作。
editor.commit();
六、从 SharedPreferences 中读取数据:
SharedPreferences pref = getSharedPreferences("data",MODE_PRIVATE);
String name = pref.getString("name", "");
int age = pref.getInt("age", 0);
boolean married = pref.getBoolean("married", false);