「ログイン」アクティビティを実装する必要があるアプリケーションがあります。これらのコンポーネントがあります:
ユーザーがログインした後、ユーザーが「ログアウト」ボタンを押すまで、ユーザーのログイン詳細をアプリケーションに記憶させる必要があります。 XMLで設定を使用していません。
GetSharedPreferences(String name、int mode)をアプリケーションで機能させるにはどうすればよいですか?
まず、次を使用してSharedPreferencesのインスタンスを取得します
SharedPreferences userDetails = context.getSharedPreferences("userdetails", MODE_PRIVATE);
SharedPreferencesに値を保存します
Editor edit = userDetails.edit();
edit.putString("username", username.getText().toString().trim());
edit.putString("password", password.getText().toString().trim());
edit.apply();
上記の行は、ユーザー名とパスワードを設定に書き込みます
設定から保存された値を取得するには、次のコード行に従うことができます
String userName = userDetails.getString("username", "");
String password = userDetails.getString("password", "");
(注:パスワードをアプリに保存するISは推奨されません。保存する前にパスワードを暗号化する必要がありますORはパスワードを保存しません)
//Set Preference
SharedPreferences myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
SharedPreferences.Editor prefsEditor;
prefsEditor = myPrefs.edit();
//strVersionName->Any value to be stored
prefsEditor.putString("STOREDVALUE", strVersionName);
prefsEditor.commit();
//Get Preferenece
SharedPreferences myPrefs;
myPrefs = getSharedPreferences("myPrefs", MODE_WORLD_READABLE);
String StoredValue=myPrefs.getString("STOREDVALUE", "");
これを試して..
多くのことを読んだ後、これだけが機能しました:クラスで共有設定を設定するには:
SharedPreferences userDetails = getApplicationContext().getSharedPreferences("test", MODE_PRIVATE);
SharedPreferences.Editor edit = userDetails.edit();
edit.clear();
edit.putString("test1", "1");
edit.putString("test2", "2");
edit.commit();
AlarmRecieverで:
SharedPreferences userDetails = context.getSharedPreferences("test", Context.MODE_PRIVATE);
String test1 = userDetails.getString("test1", "");
String test2 = userDetails.getString("test2", "");