実行中のアクティビティに関係なく、アプリケーションのライフサイクル全体で値を保持するグローバル変数を作成するにはどうすればよいですか。
ベストアンサー1
次のように基本android.app.Application
クラスを拡張してメンバー変数を追加できます。
public class MyApplication extends Application {
private String someVariable;
public String getSomeVariable() {
return someVariable;
}
public void setSomeVariable(String someVariable) {
this.someVariable = someVariable;
}
}
Android マニフェストでは、android.app.Application を実装するクラスを宣言する必要があります (android:name=".MyApplication"
既存のアプリケーション タグに属性を追加します)。
<application
android:name=".MyApplication"
android:icon="@drawable/icon"
android:label="@string/app_name">
次に、アクティビティで次のように変数を取得および設定できます。
// set
((MyApplication) this.getApplication()).setSomeVariable("foo");
// get
String s = ((MyApplication) this.getApplication()).getSomeVariable();