2016-10-19 9 views
0

どのアクティビティやフラグメントからでもアクセスできるように値をグローバルに設定する方法。 activity_login.java>(意図)ので、すべての時間は、バックエンドからデータをチェックし、引っ張って、USER_IDに依存していずれかのセクションではなく、活動を通過するのは簡単だろう世界的に格納する必要がuser_idをandroidで値をグローバルに設定する方法

編集: などについては

私はのフラグメントまたはactivtiyからセッターとゲッターが必要です。

+0

の下に使用して値

SamplePreferences.setTotalCount(thisContext, "2"); 

アクセスの値を設定することができます共有プリファレンスまたは宣言あなたがクラスを取得するパブリック静的。 –

+0

共有関連設定を使用して、ユーザー関連のデータを保存します。 – Shane

+0

または、おそらくこの1つ。 http://stackoverflow.com/questions/708012/how-to-declare-global-variables-in-android –

答えて

2

それはアプリケーション内の任意の場所からアクセスできるように、世界的にすべてのクラスの値を格納するための多くの方法があります。

  1. は、パブリック静的変数を宣言しますが、それは長期保存のために好ましくないのです。
  2. 使用する共有設定 - SharedPreferences
  3. 使用データベース - あなたはグローバル値にアクセスするための代替上記1のいずれかを使用することができSQlite

+0

の静的変数を使用する必要があります。お手入れ。 OSは、スペースが必要なときにメモリからアプリケーションを削除することができ、アクティビティが再びアクティブになったときに静的変数は通常復元されません。 – Henry

+0

@ Henry、メモリにたくさんのものをロードする必要がある場合、それは問題かそれ以外のものです –

+0

そう、私は「注意して使う」と言いました。長期的には、静的変数はほとんど常に間違ったアプローチです。 – Henry

0

使用sharedPreferencesをし、あなたのクラスのいずれかの

で値にアクセスSamplePreferences.java

プライベート

に以下のコードを入れてくださいstatic final String TOTALCOUNT = "total_count";

public static void setTotalCount(Context thisActivity, String id) { 
    Editor editor = thisActivity.getSharedPreferences(KEY, Context.MODE_PRIVATE).edit(); 
    editor.putString(TOTALCOUNT, id); 
    editor.commit(); 
} 

public static String getTotalCount(Context thisActivity) { 
    SharedPreferences user_pref = thisActivity.getSharedPreferences(KEY, Context.MODE_PRIVATE); 
    return user_pref.getString(TOTALCOUNT, "0"); 

} 

あなたはコードの下クラスの使用のいずれかからに保存コード

SamplePreferences.getTotalCount(thisContext); 
関連する問題