私は現在、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の中でそれを保存しませんDB?データはウェル形式で整理できます。
これはMySQLに似ていますか? AndroidでSQLiteを使用するための良いチュートリアルを紹介してくれますか? –
'sqlite android tutorial'の簡単なgoogle検索で、たくさんのことができました... – Denny
このsqliteチュートリアルは、sqliteを理解するのに大いに役立ちます。希望により - https://www.youtube.com/watch?v=0BUljVIgnoE –
'SharedPreferences'は主にデータのキー値タイプを格納するために使用されます –
@NJ次に大きなデータを格納するために使用されるものは? –
sqliteまたはfile .. –