-1

私の問題は、1時間後にアプリを再起動しようとすると、アプリケーションが空のデータで開かれ、カーネルがプロセスを強制終了せずにリソースを削除すると信じています。.thxを助けてください

4

2 に答える 2

0

データをある種の永続的なストレージに保存する必要があると思います。Androidプラットフォームで利用できるオプションはいくつかあります。

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

于 2013-03-25T10:09:02.410 に答える
0

「空のデータ」とはどういう意味ですか?もちろん、いくつかの動的変数を意味する場合、それらの状態はアプリの再起動後に失われます。

アプリのクローズイベントを処理し、必要なデータを保存してから、必要なデータを復元する必要があります。

たとえば、onPause()データを保存し、必要なデータをSharedPreferencesファイルまたはに保存するアクティビティのメソッドを処理できますSQLite database。そして、そのデータをonResume()メソッドで復元します。

Androidとライフサイクルについて読むことをお勧めAppsActivitiesますFragments

UPD:

静的データを使用してArrayListそこにデータを保存しているとのことですが、もちろんアプリの再起動後にデータは失われます。ArrayListしたがって、から、fileまたはdatabase最も簡単なソリューションを使用してデータを保存し、に保存する必要がありますBundle

例:

/**
* Saving data
*/
@Override
public void onSaveInstanceState(Bundle savedInstanceState)
{
    super.onSaveInstanceState(savedInstanceState);
    // Here you can save your data
    // If you want to store your ArrayList, it should implement Parselable
    savedInstanceState.putParcelableArrayList("STORE_KEY", yourArrayListWhichShouldImplementParcelable);
}

/**
* Restoring data
*/
@Override
public onRestoreInstanceState(Bundle savedInstanceState)
{
    super.onRestoreInstanceState(savedInstanceState);
    yourArrayList = (YourArrayList) savedInstanceState.getParcelableArrayList("STORE_KEY");
}

このようなもの

于 2013-03-25T10:09:02.757 に答える