0

Intent の追加の DS を使用して、アクティビティ間で値を渡します。Activityaからに値を渡す必要がある場合、Applicationそれを行う最善の方法は何ですか?

を使用SharedPreferencesしましたが、設定されている値を確認できません。

使った

PreferenceManager.getDefaultSharedPreferences(this).edit().putString(CURRENT_AIRLINE_IATA_CODE, AIRLINE_CODE);

それを読むために、私は使用しました

PreferenceManager.getDefaultSharedPreferences(this).getString(CURRENT_AIRLINE_IATA_CODE, null);

Android のドキュメントには、SharedPreferences を使用して異なるプロセス間で情報を渡すことはできないと記載されていますNote: currently this class does not support use across multiple processes. This will be added later. http://developer.android.com/reference/android/content/SharedPreferences.html

4

3 に答える 3

0

このようにすれば、アプリケーションに値を格納するだけです。

public class MyApplication extends Application {
    private static MyApplication singleton;
    private Object value;

    // Returns the application instance 
    public static TVGidsApplication getInstance() {
        return singleton;
    }

    public final void onCreate() {
        super.onCreate() 
        singleton = this;
    }  

    public Object getValue(){
        return value;
    }

    public void setValue(Object value){
        this.value = value;
    }
}

次に、任意のActivity(または他の任意のクラスから) を呼び出して値をアプリケーションに渡し、任意のクラスから値を取得MyApplication.getInstance().setValue(value) できます。 もちろん、それ以外のタイプでもかまいません。ActivityMyApplication.getInstance().getValue()valueObject

于 2013-07-26T11:41:56.387 に答える