Android 数据持久化就是指讲存储在内存中的瞬时数据保存在存储设备中。
Android 中主要提供了3种方式用于简单地实现数据持久化功能,文件存储,SharedPreference存储和数据库存储。相比另一个存储在SD卡上相对简单安全。
文件存储:
关键方法:openFileOutput("文件名",存储的模式); 该方法返回一个FileOutputStream,用流的方式存储。
存储模式取值Context.MODE_PRIVATE:文件名相同,覆盖存储
Context.MODE_APPEND:文件名相同,添加存储
openFileInput("文件名"); 该方法返回一个FileInputStream.用流的方式读取
例:
private void save(String inputText) {
FileOutputStream out;
BufferedWriter writer = null;
try {
out = openFileOutput("data", Context.MODE_PRIVATE);
writer = new BufferedWriter(new OutputStreamWriter(out));
writer.write(inputText);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (writer != null) {
try {
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
private String load() {
FileInputStream in = null;
BufferedReader reader = null;
StringBuilder builder = new StringBuilder();
try {
in = openFileInput("data");
reader = new BufferedReader(new InputStreamReader(in));
String line = "";
if ((line = reader.readLine()) != null) {
builder.append(line);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
return builder.toString();
}