共有プリファレンスを使用して編集テキストの値を保存しようとしていますが、SharedPreferences()の値を別のアクティビティ。ここSharedPreferences()を使用して値を格納し、別のアクティビティに格納値を取得する方法
答えて
まずintialize SharedPreferences
:
final SharedPreferences preferences = PreferenceManager
.getDefaultSharedPreferences(ApplicationLoader.applicationContext);
あなたは、この使用することができます保存するには:別のクラス内の値を取得するために、次に
SharedPreferences.Editor editor = preferences.edit();
editor.putString("editText", yourEditText.getText().toString());
editor.commit();
を、あなたが使用できます。
String editText = preferences.getString("editText", "");
第2の値""
は、デフォルト値。editText
が以前に保存されていない場合は、空のString
が返されます。
私は最終的なSharedPreferencesプリファレンスを設定する必要があります= PreferenceManager .getDefaultSharedPreferences(ApplicationLoader.applicationContext); 私が価値を得ようとしているすべての活動について? –
はい、あなたはそれを行うことができます! –
保存された値を取得できません –
// store the value in preference store
SharedPreferences sharedpreferences = getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);
Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit();
// get the value from preference store
String name = sharedpreferences .getString("key", "");
これは文字列を配置するコードですか? loginPrefsEditor。putString( "username"、username); –
String name = sharedpreferences .getString( "username"、 "");私が置く場合、私は格納された値を取得することができるだろう。 –
はい、また、loginPrefsEditor.commit()ステートメントを使用して値を保存する必要があります。 –
は私の試みで、SF
のクラスpublic class SFData {
public static SharedPreferences sf_login;
static SharedPreferences.Editor sf_login_edit;
public static void loginSF(Context ctx){
sf_login = ctx.getSharedPreferences("login", 0);
sf_login_edit = sf_login.edit();
}
public static void loginSFStore(Map<String, Object> mapData){
loginSFClear();
for (Map.Entry<String, Object> entry : mapData.entrySet()) {
String keyName = entry.getKey();
Object value = entry.getValue();
if (value instanceof String) {
sf_login_edit.putString(keyName, (String) value);
}
else if (value instanceof Boolean) {
sf_login_edit.putBoolean(keyName, (boolean) value);
}
else if (value instanceof Integer) {
sf_login_edit.putInt(keyName, (int) value);
}
}
sf_login_edit.putBoolean("isLogin", true);
sf_login_edit.commit();
}
public static void loginSFClear(){
sf_login_edit.clear();
sf_login_edit.commit();
}
}
に使用 Boolean login = SFData.sf_login.getBoolean("isLogin", false);
のサンプルを作成するには、さらに複雑に得ることができますアプリケーションで作業している場合は、あなたのコード
私はSharedPreferencesにユーザー名を保存すれば、どのアクティビティでも使用できますか? SharedPreferencesの限界は何ですか?アプリケーションを閉じるとユーザー名は消去されますか? –
アプリのクリアキャッシュデータが設定されるまで残っています –
これから試してみます –
に適応してください途中で共有設定を集中管理する方がよいでしょう。だから私はこのような共有設定のためのクラスを作成することをお勧め:あなたの活動で
Javaクラス
//SharedPreferences manager class
public class SharedPrefs {
//SharedPreferences file name
private static String SHARED_PREFS_FILE_NAME = "my_app_shared_prefs";
//here you can centralize all your shared prefs keys
public static String KEY_MY_SHARED_BOOLEAN = "my_shared_boolean";
public static String KEY_MY_SHARED_FOO = "my_shared_foo";
//get the SharedPreferences object instance
//create SharedPreferences file if not present
private static SharedPreferences getPrefs(Context context) {
return context.getSharedPreferences(SHARED_PREFS_FILE_NAME, Context.MODE_PRIVATE);
}
//Save Booleans
public static void putBoolean(Context context, String key, boolean value) {
getPrefs(context).edit().putBoolean(key, value).commit();
}
//Get Booleans
public static boolean getBoolean(Context context, String key) {
return getPrefs(context).getBoolean(key, false);
}
//Get Booleans if not found return a predefined default value
public static boolean getBoolean(Context context, String key, boolean defaultValue) {
return getPrefs(context).getBoolean(key, defaultValue);
}
//Strings
public static void putString(Context context, String key, String value) {
getPrefs(context).edit().putString(key, value).commit();
}
public static String getString(Context context, String key) {
return getPrefs(context).getString(key, "");
}
public static String getString(Context context, String key, String defaultValue) {
return getPrefs(context).getString(key, defaultValue);
}
//Integers
public static void putString(Context context, String key, int value) {
getPrefs(context).edit().putInt(key, value).commit();
}
public static int getInt(Context context, String key) {
return getPrefs(context).getInt(key, 0);
}
public static int getInt(Context context, String key, int defaultValue) {
return getPrefs(context).getInt(key, defaultValue);
}
//Floats
public static void putFloat(Context context, String key, float value) {
getPrefs(context).edit().putFloat(key, value).commit();
}
public static float getFloat(Context context, String key) {
return getPrefs(context).getFloat(key, 0);
あなたはSharedPreferencesを保存することがあり、このよう
が変数
//saving a boolean into prefs
SharedPrefs.putBoolean(this, SharedPrefs.KEY_MY_SHARED_BOOLEAN, booleanVar);
を保存します
このようにSharedPreferencesを取得することができます
は
//getting a boolean from prefs
booleanVar = SharedPrefs.getBoolean(this,SharedPrefs.KEY_MY_SHARED_BOOLEAN);
あなたはすべてのアプリケーション上で、時には異なる構造で、共有好みコードを飛散していないであろう。この方法は保存された値を取得します。 Context
と
さて、私はそれを試してみるつもりです。私はまだアンドロイドスタジオについて学んでいます。私は現在、私の論文としてSMSを使ったオンライン注文アプリケーションに取り組んでいます。 –
保存された値を取得する予定のアクティビティでSharedPreferencesを宣言する必要がありますか? プライベートSharedPreferences loginPreferences; プライベートSharedPreferences.Editor loginPrefsEditor; このようにしますか? –
あなたのアクティビティでSharedPrefs(import com.yourdomain)をインポートするだけで、SharedPrefsという最初のコードセクションで新しいjavaクラス(com.yourdomain.yourapp-> New-> Java Classを右クリック)を作成する必要があります。 yourapp.SharedPrefs)を保存して、2番目のセクションに好きな値を保存して、上記の3番目のセクションのように回復してください – alexm
- 1. SharedPreferencesに値を格納
- 2. SharedPreferencesにintを格納する方法
- 3. SharedPreferencesにスタックを格納する方法
- 4. sharedPreferencesがデータを格納する方法
- 5. sharedpreferencesに配列を格納
- 6. remoteMethod()に格納された値を取得する方法
- 7. リンクタグの値を格納する方法
- 8. jsonから値を取得し、変数として格納する方法
- 9. SQLクエリから変数に値を取得して格納する方法PHP
- 10. Cookie値の一部を取得し、変数に格納する
- 11. データベースにアポストロフィを使用して値を格納する
- 12. Java HashMapキー値の格納と取得
- 13. 辞書を使用してC#のメソッドに値を格納する方法
- 14. 値をグローバルに格納し、Javaの他のクラスで取得する方法
- 15. ブール値を格納する
- 16. html5のローカルストレージを使用して変数値を格納する
- 17. JAVAを使用してMONGO DBに値を格納する方法は?
- 18. Seleniumを使用してテスト間に値を格納する方法
- 19. mipsを使用して配列にASCII値を格納する方法は?
- 20. Javaを使用してデータベースにXMLタグ値を格納する方法は?
- 21. 関数外で使用する値を格納する方法
- 22. UISegmentedControlをplistに格納して取得する方法
- 23. linq呼び出しに格納された値を取得する方法式
- 24. タイプテーブルにオブジェクト値を格納
- 25. ハッシュ値をintに格納
- 26. クリックイベントに値を格納
- 27. sharedpreferenceを使用してArrayList値のセットを格納する方法
- 28. ポインタインデックスに値を格納しますか?
- 29. SharedPreferencesを使用して、ユーザーがボタンをクリックして次回に値を取得するたびにインクリメントされるintを格納する方法
- 30. EXEC Selectステートメントダイナミックカラムを使用して値を変数に格納
何か試しましたか?任意のコード? –
値を渡そうとしている次のアクティビティですか? – OBX
はい私は試みた。私はSharedPreferencesに値を格納する方法を知っていますが、格納された値を取得する方法はわかりません。 –