0

私はアンドロイドが初めてで、たくさん検索しましたが、満足のいく答えが見つかりませんでした。必要なのは、次のようなアプリケーションの設定を保存することです

1>言語、表示するアイテムの数、画像の表示/非表示など...共有設定を使用して行うのが最善だと思います

2> インターネットから取得するデータ カテゴリを保存する...

ここに私の問題があります:

キー、名前、タイプ、データ[] ...(データ[]は常に変化し、アプリケーションを終了した後は保存されません)、(キー、名前、タイプはプログラマーによって定義された最終値です)でカテゴリオブジェクトに分割されたデータがあります)。

また、ユーザーがロードしたい、またはロードしたくないカテゴリ (約 25) が多数あるため、ユーザーは表示するカテゴリを選択でき、これらの選択は保存する必要があります。

データが複雑なため、共有設定を使用しても役に立たないと思います。私はsqliteまたはxmlを使用することを考えていましたが、効率とメモリサイズを念頭に置いてどちらが最良の選択であるかはわかりません.

注: カテゴリ情報配列にグローバル変数を使用しています。これは、data[] を 2 ~ 3 分ごとに自動的に更新する必要があり、すべてのアクティビティで利用できる必要があり、効率とメモリ容量が問題になるためです。アドバイスをいただければ幸いです。よろしくお願いします。

4

3 に答える 3

1

1>SharedPreferencesは正しい選択です

2>複数の可能性があります

a)内部ストレージを使用し、オブジェクトのシリアル化(簡単にするため)、xml(データを交換する場合)を使用するか、独自の形式を使用します

b)SQLiteが最速のソリューションです。しかし、そのためにはもっとプログラミングをしなければなりません


bが私の選択なので、DBオブジェクト(静的またはシングルトンパターン)を作成し、すべてのデータベースタスクの関数を記述します

于 2012-01-05T16:03:10.757 に答える
0

設定を保存するユーザー共有設定、

 SharedPreferences sharedPreferences = this.applicationContext.getSharedPreferences(preferencesName, Context.MODE_PRIVATE);


    //For saving the setting:    


        //for storing long
              SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.putLong(key, value);
        //for storing string                editor.commit();
              SharedPreferences.Editor editor = sharedPreferences.edit();
                        editor.putString(key, value);
                        editor.commit();
        //and similarly for int,float etc


        //For Retrieving the string:

            sharedPreferences.getLong(key, defaultValue); //for long value 
            sharedPreferences.getSting(key, defaultValue); //for string value
于 2012-11-22T10:46:04.463 に答える
0

1) はい、SharedSettings が役に立ちます。周りにはたくさんの情報がありますが、迷ったら投稿してください。

2)すべてのカテゴリとブール値を含むテーブルを作成します。これは、ユーザーが表示するかどうかを保持できる「表示」と表示されます。

もちろん、それはカテゴリのサイズとそれらがどれだけ変化するかによって異なります。そうしないと、データベースを永遠に更新することになるからです。

于 2012-01-05T16:09:11.070 に答える