Android提供了多种方式来实现范围存储和持久文件的解决方案。下面是一些示例代码,展示了如何使用不同的方法来实现这些功能。
// 获取SharedPreferences对象
SharedPreferences sharedPreferences = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE);
// 写入数据
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("key", "value");
editor.apply();
// 读取数据
String value = sharedPreferences.getString("key", "default value");
// 获取内部存储目录
File internalDir = getFilesDir();
// 创建文件
File file = new File(internalDir, "myfile.txt");
// 写入数据
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write("Hello, World!".getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 读取数据
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String line = br.readLine();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
// 检查外部存储是否可用
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)) {
// 获取外部存储目录
File externalDir = getExternalFilesDir(null);
// 创建文件
File file = new File(externalDir, "myfile.txt");
// 写入数据
try {
FileOutputStream fos = new FileOutputStream(file);
fos.write("Hello, World!".getBytes());
fos.close();
} catch (IOException e) {
e.printStackTrace();
}
// 读取数据
try {
FileInputStream fis = new FileInputStream(file);
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String line = br.readLine();
br.close();
} catch (IOException e) {
e.printStackTrace();
}
}
这些代码示例展示了如何使用SharedPreferences、内部存储和外部存储来实现Android的范围存储和持久文件功能。具体使用哪种方法取决于你的需求和应用的环境。