アクティビティ内にグローバル変数を定義しました。この変数は、ユーザーが押したボタンに応じて変化します。
アプリの UI の外に出て、最近のアプリのリストを表示するホーム ボタンを押して戻ってくると、変数はその状態を保持しますが、アプリのアイコンを押してアプリを再度実行すると、変数の状態は失われます。
変数の状態を保持する方法はありますか?
アクティビティ内にグローバル変数を定義しました。この変数は、ユーザーが押したボタンに応じて変化します。
アプリの UI の外に出て、最近のアプリのリストを表示するホーム ボタンを押して戻ってくると、変数はその状態を保持しますが、アプリのアイコンを押してアプリを再度実行すると、変数の状態は失われます。
変数の状態を保持する方法はありますか?
@Code-Guru が言うように、onSaveInstanceState()
変数の値を保存するために使用できます。
もう 1 つの簡単な方法は、静的クラスに静的メンバーを作成して変数を格納することです。アプリがメモリ内にある限り、静的クラスは存在します。
コールバック中に変数の値を保存できonSaveInstanceState()
ます。次に、 に渡される「つらら」パラメータを使用してonCreate()
、値を復元します。アクティビティ ライフサイクルの管理を読むことに興味があるかもしれません。
また、Java にはクラス変数とメンバー変数がありますが、グローバル変数はありません。
共有設定の使用を検討できます。このクラスは、単純なデータの保存と取得に使用されます。