我目前在SharedPreferences中将大量的用户数据存储为JSON字符串。它工作的很好,但我不知道它是否会导致任何问题,例如大型应用程序大小或内存问题。SharedPreference是一种存储大块数据的好方法吗?
除了SharedPreferences以外,有没有更好的或推荐的方法来存储Android应用程序中的大块数据?
我目前在SharedPreferences中将大量的用户数据存储为JSON字符串。它工作的很好,但我不知道它是否会导致任何问题,例如大型应用程序大小或内存问题。SharedPreference是一种存储大块数据的好方法吗?
除了SharedPreferences以外,有没有更好的或推荐的方法来存储Android应用程序中的大块数据?
我认为在SharedPreference
中保存大数据并不好。您可以将大数据存储在任一数据库中,也可以创建一个读取或写入文件。
您可以通过此方法,通过这种方法创造这样
写文件可读可写&文件
public static void writeToFile(String data,Context context, String fileName) {
try {
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(context.openFileOutput(fileName+".txt", Context.MODE_PRIVATE));
outputStreamWriter.write(data);
outputStreamWriter.close();
}
catch (IOException e) {
Log.e("Exception", "File write failed: " + e.toString());
}
}
读取文件
public static String readFromFile(Context context, String fileName) {
String ret = "";
try {
InputStream inputStream = context.openFileInput(fileName + ".txt");
if (inputStream != null) {
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String receiveString = "";
StringBuilder stringBuilder = new StringBuilder();
while ((receiveString = bufferedReader.readLine()) != null) {
stringBuilder.append(receiveString);
}
inputStream.close();
ret = stringBuilder.toString();
}
}
catch (FileNotFoundException e) {
Log.e("login activity", "File not found: " + e.toString());
} catch (IOException e) {
Log.e("login activity", "Can not read file: " + e.toString());
}
return ret;
}
该文件是否可以被其他应用程序访问? –
文件可写文件?如果你正在讨论可写文件,那么不,你不能从其他文件访问。 –
此文件是否会保存在应用程序或手机存储器内? –
为什么你不将它存储在SQLite的D B?您可以以良好的格式组织数据。
它与MySQL相似吗?你可以引用我的任何好的教程SQLite使用Android? –
一个简单的谷歌搜索'sqlite android教程',你有很多... – Denny
这个sqlite教程帮助我了解了很多sqlite。希望它有所帮助 - https://www.youtube.com/watch?v=0BUlVIVIoNoE –
'SharedPreferences'主要用于存储关键值类型的数据 –
@NJ那么什么是用来存储大数据? –
sqlite或文件.. –