0

私はAndroidプログラミングが初めてです。

いくつかの ArrayLists を作成し、それらをプログラムに入れたいと思います。プログラムを閉じるか一時停止すると、それらを保存する必要があります。プログラムがアンインストールされるまで。

それらをプログラムに保存するにはどうすればよいですか。

savedInstanceState を使用できますか?

4

5 に答える 5

2

詳細については、共有設定を使用してデータを保存し、データを取得できます。以下の公式ドキュメントを参照してください http://developer.android.com/reference/android/content/SharedPreferences.html

および共有設定のサンプルチュートリアルのこのリンクhttp://www.androidhive.info/2012/08/android-session-management-using-shared-preferences/

于 2013-06-21T12:30:51.860 に答える
1

配列 List を格納する方法。

オプション 1.このリンクを参照しましたSave ArrayList to SharedPreferences

API 11 以降、SharedPreferences エディターはセットを受け入れます。List を HashSet に変換できます。読み返したら、それを ArrayList に変換します。完全な説明とコードについては、上記のリンクを確認してください。

//Retrieve the values
Set<String> set = new HashSet<String>();
set = myScores.getStringSet("key", null);

//Set the values
Set<String> set = new HashSet<String>();
set.addAll(listOfExistingScores);
scoreEditor.putStringSet("key", set);
scoreEditor.commit();

オプション 2. 持っていない場合。オプション1を使用する代わりに、sqliteを使用してテーブルにデータを保存できます。かさばるリレーショナル データがある場合は、Sqliteが推奨されます。このsqliteチュートリアルを確認できます

オプション 3.静的配列リストを使用する

于 2013-06-21T12:31:45.240 に答える
0

アプリケーションをアンインストールするまでデータを永続的に保存するには、次の 2 つの方法が考えられます。

DB に保存する Shared Preference File に保存します。

あなたがアンドロイドに不慣れだと言ったように、SharedPreferenceを使用することをお勧めします。

このように設定オブジェクトを宣言します

SharedPreferences prefs = this.getSharedPreferences(context, Context.MODE_PRIVATE);

を使用してキーに値を格納するには

prefs.edit().putString(KEY, "Value to be stored").commit();

値を取得するには

prefs.getString(KEY, DEFAULT_VALUE);

KEY に値のペアがない場合は、DEFAULT_VALUE が返されます。

于 2013-06-21T12:41:09.607 に答える
0

開発者サイトのこのリンクを確認してください

http://developer.android.com/guide/topics/data/data-storage.html

データ ストレージのオプションは次のとおりです。

共有設定

プライベート プリミティブ データをキーと値のペアで保存します。

内部記憶装置

プライベート データをデバイス メモリに保存します。

外部記憶装置

公開データを共有外部ストレージに保存します。

SQLite データベース

構造化データをプライベート データベースに保存します。

ネットワーク接続

独自のネットワーク サーバーを使用して Web 上にデータを保存します。

于 2013-06-21T12:31:35.087 に答える
0

Android に統合されている SQLite インストールを使用します。これは、ユーザーがデータをアンインストール/ワイプするまで持続しますSQLite このチュートリアルには良い例があります

于 2013-06-21T12:32:11.037 に答える