我想为我的应用程序保存一些缓存数据。我过去使用将数据保存在外部存储器中来实现这一点,这个方法很好用。但是我希望我的设备能够在应用程序设置中显示我的缓存大小,但它并没有这样做。我猜测这是因为我将数据保存在外部存储器中。现在我想让我的数据在关闭应用程序甚至关闭设备后仍然存在。现在我尝试将文件保存在内部存储器中,但我在读取文件时遇到了麻烦,并且在应用程序设置中缓存大小仍然不正确。请问是否有人可以向我提供在应用程序缓存中写入和读取字符串的方法?
我想为我的应用程序保存一些缓存数据。我过去使用将数据保存在外部存储器中来实现这一点,这个方法很好用。但是我希望我的设备能够在应用程序设置中显示我的缓存大小,但它并没有这样做。我猜测这是因为我将数据保存在外部存储器中。现在我想让我的数据在关闭应用程序甚至关闭设备后仍然存在。现在我尝试将文件保存在内部存储器中,但我在读取文件时遇到了麻烦,并且在应用程序设置中缓存大小仍然不正确。请问是否有人可以向我提供在应用程序缓存中写入和读取字符串的方法?
我认为一切都已经清晰地解释在这里... :)
如果你只有简单的数据,你可以像这样使用SharedPreferences:
public static void writeString(Context context, final String KEY, String property) {
SharedPreferences.Editor editor = context.getSharedPreferences(Constants.SHARED_PREFERENCES_KEY, context.MODE_PRIVATE).edit();
editor.putString(KEY, property);
editor.commit();
}
public static String readString(Context context, final String KEY) {
return context.getSharedPreferences(Constants.SHARED_PREFERENCES_KEY, context.MODE_PRIVATE).getString(KEY, null);
}
为了使用缓存,您必须使用该方法。File file = new File(context.getCacheDir(), filename);
它会返回一个文件对象,你可以在其上进行读写操作。
使用以下内容进行写入:
FileWriter fw = new FileWriter(file.getAbsoluteFile());
BufferedWriter bw = new BufferedWriter(fw);
bw.write(fcontent);
bw.close();
请注意,如果系统空间不足,Android可能会删除此文件,因此不要使用它来存储过多的数据。(> 1MB)