0

このチュートリアルを使用してセッションを保存しました。このデータを別のアクティビティから取得する方法がまだわかりません。

 public HashMap<String, String> getUserDetails(){
    HashMap<String, String> user = new HashMap<String, String>();
      user.put(KEY_FULLNAME, pref.getString(KEY_FULLNAME, null));        
      user.put(KEY_EMAIL, pref.getString(KEY_EMAIL, null));

    // return user
    return user;
}

このリンクのような別のアクティビティに送信する意図を人々が使用していることがわかりました。別のアクティビティからメソッドを呼び出すようなデータを取得する簡単な方法はありますか (クラスをインポートし、varそのクラスの変数を指定して、のようにメソッドを呼び出しますvar.theMethodFromClass())。


アップデート

public SessionManager(Context context){
    this._context = context;
    pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
    editor = pref.edit();
}

この関数は私の SessionManager クラスにあります。使用するためにアクティビティで既に初期化されているため、すべての変数を再度初期化せずに直接使用するにはどうすればよいですか。

SessionManager.class の完全なコードは最初のリンクにあります

4

5 に答える 5

1

データは既に に保存されているため、別のアクティビティSharedPreferncesに送信する必要があるのはなぜですか..別のアクティビティでファイルを開いて、好きなように使用してみてください.ActivityActivitySharedPreference

于 2013-11-08T11:01:51.430 に答える
0

アプリケーションを再起動した後もを保存しHashMapて使用する場合は、 を使用しますSharedPreferences。をデバイスに保存しHashMapます。

HashMapas パラメータを別の に渡すだけの場合はActivity、 を使用しますIntent。を渡すものIntentはすべて、すべての場合に適切に機能するようにシリアライズ可能である必要があります。読む: http://developer.android.com/guide/components/intents-filters.html

于 2013-11-08T11:07:56.327 に答える
-2

プロジェクトで許可されている場合は、HashMapを静的にするだけで、 Class.hashmapvarを呼び出してプロジェクト内の他のアクティビティで取得できます。

于 2013-11-08T11:03:22.173 に答える