2

カスタムオブジェクトを含むArrayListがあります。各カスタムオブジェクトには、さまざまな文字列と数字が含まれています。ユーザーがアクティビティを離れて後で戻ってきたい場合でも、配列を保持する必要がありますが、アプリケーションが完全に閉じられた後に配列を使用できるようにする必要はありません。SharedPreferencesを使用してこの方法で他の多くのオブジェクトを保存しますが、この方法で配列全体を保存する方法がわかりません。これは可能ですか?たぶんSharedPreferencesはこれを行う方法ではありませんか?もっと簡単な方法はありますか?

4

2 に答える 2

1

すべてのオブジェクトがシリアル化可能であるように見えるため、ArrayListを使用ObjectInputStreamしてシリアル化できます。ObjectOutputStream

シリアル化については、ここで説明しています:http: //java.sun.com/developer/technicalArticles/Programming/serialization/

Androidでは、このようなファイルを保存するための推奨される場所は、そのContext.getCacheDir()ように指定されたディレクトリを使用することです。アクティビティではthis.getCacheDir()、それを取得するために呼び出すだけで、ObjectStreamオブジェクトにフィードする一意のファイル名を作成します。

于 2012-05-16T14:07:47.453 に答える
0

アプリケーションの強制終了後に不要な場合は、onSaveInstanceState()およびonRestoreInstanceState( )を使用してみてください。

これがその使い方を示す短い例です

于 2012-05-16T13:51:48.897 に答える