0

私はarraylistを持っていて、アプリが閉じられた/終了した/破棄されたときにデータを保存したいと考えています。

//Class SimpleBookManager.java is a singleton

private ArrayList<Book> allBooks = new ArrayList<Book>();

public Book getBook(int index){
    return allBooks.get(index);
}
public void saveChanges(){
    //Save the allBooks into memory
}
public void loadBooks(){
    //Load the allBooks into memory to the variable allBooks;
}

SimpleBookManager.getSimpleBookManager().saveChanges();パッケージ内の他のすべてのクラスを書き込むことによって到達します。

メソッド saveChanges() と loadBooks() を実装する最良の方法は何ですか? 簡単な例を挙げていただけますか?Androidの共有設定について読んだことがありますが、残念ながらよくわかりません=)

4

3 に答える 3

0

これは、探しているコードを含むSOの質問です

配列を共有設定に保存するには、こちらをご覧ください -

ただし、アプリに多数の本がある場合、または各本に関する多くの情報がある場合は、SQLite データベースを使用することをお勧めします。

于 2012-11-17T17:58:31.593 に答える
0

アプリ内の任意のコンテキストから SharedPreferences のインスタンスを取得できます。

次のコードは、キー「some_pref_key」と値「some_pref_value」を使用して設定を「your_preference_file_name」という名前のファイルに保存します。

    SharedPreferences prefs = context.getSharedPreferences( "your_preference_file_name", MODE_APPEND );
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString( "some_pref_key", "some_pref_value" );
    editor.commit();

他のタイプのデータを保存する必要がある場合は、SharedPreferences.editorの ドキュメントを確認してください。

于 2012-11-17T17:59:24.150 に答える
0

10個以下の単一のデータを保存する場合は、共有設定を使用できます。例 : bookid を保存する場合は、共有設定で十分です。

ただし、オブジェクトの配列/データを保存しようとしている場合は、データベースにのみ保存する必要があります。大量のデータを扱うのに便利

于 2012-11-17T18:24:14.190 に答える