我目前在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或文件.. –