Android グローバル変数 質問する

Android グローバル変数 質問する

実行中のアクティビティに関係なく、アプリケーションのライフサイクル全体で値を保持するグローバル変数を作成するにはどうすればよいですか。

ベストアンサー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();

おすすめ記事