私はAndroidでゲームを開発しました。私は現在、ほとんどのゲーム統計をデータベースに保存しています。ただし、アプリはDB内の複数の行を利用しません。私は今、いくつかの新しい統計を導入することに興味がありますが、これにより私のDBが再インストールされ、すべての進行状況がクリアされます。将来これを回避するために、代わりにSharedPreferencesを使用してゲーム統計を保存することを検討しています。私の質問は、問題が発生する前に、その方法でいくつの異なるものを保存できるかということです。合計で約40個の値(すべて整数)を格納します。
16940 次
4 に答える
25
SharedPreferences は xml ファイルに書き込まれるため、Android でのファイルの最大サイズは、SharedPreferences 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);
// Commiting the edits
editor.commit();
于 2010-07-08T00:46:28.313 に答える
7
制限についてはわかりませんが、全員の進行状況が一掃されるという問題については. SQLite クラスの onUpgrade メソッドをオーバーライドしてから、全員のデータを新しいデータベースに移行できます。
于 2010-07-08T00:42:55.293 に答える