質問

Androidでゲームを開発しました。現在、データベースにゲームの統計のほとんどを保存しています。ただし、アプリはDBで1つ以上の行を使用していません。私は今、いくつかの新しい統計を導入することに興味がありますが、これにより私のDBが再インストールされ、したがって全員の進捗状況が解消されます。将来これを回避するために、私は代わりにSharedPreferencesでゲームの統計を保存することを検討しています。私の質問は、問題になる前にそのように保存できるものがいくつあるかです。合計で、私は約40の値、すべての整数を保存します。

役に立ちましたか?

解決

SharedPreferencesはXMLファイルに書き込まれるため、Android上のファイルの最大サイズは、XMLファイルがどれだけ大きくなるかです。 40の整数値が問題にならないと安全に言うことができます。

SharedPreferencesファイルの値の最大サイズは、保存しようとしている値の最大サイズに制限されます。 (つまり、文字列がJavaにあるよりも長い文字列値を置くことはできません。)

私が提案する唯一のことは、可能な限り編集をバッチすることです(つまり、意味しないでください .commit() 各変更)および各変更の新しいエディターも作成しません。 (これらは単なる良い習慣です。)

SharedPreferences settings = getSharedPreferences(PREFS_FILE_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("firstValue", mFirst);
editor.putInt("secondValue", mSecond);
editor.putInt("thirdValue", mThird);

// Commit the edits! (As infrequently as possible)
editor.commit();

他のヒント

私は何も制限については知りませんが、あなたの問題については、すべての人が進歩していることについてです。 SQLiteクラスのOnUpgradeメソッドをオーバーライドしてから、すべてのデータを新しいデータベースに移行できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top