-5
我有應用程序與編碼密鑰,這應該是從應用程序的所有部分可見。它必須具有默認值,並且能夠從其中一項活動中進行更改。我怎樣才能設置這個默認值?爲整個應用程序的SharedPreferences設置默認值
我有應用程序與編碼密鑰,這應該是從應用程序的所有部分可見。它必須具有默認值,並且能夠從其中一項活動中進行更改。我怎樣才能設置這個默認值?爲整個應用程序的SharedPreferences設置默認值
要保存默認值,您有兩個選項。 1. SharedPreference 2.數據庫。
嘗試用SharedPreference
創建Helper類。
public class SharedPreferencesHelper {
private static final String TAG = "SharedPreferencesHelper";
Context context;
SharedPreferences sharedPreferences;
public SharedPreferencesHelper(Context context) {
this.context = context;
sharedPreferences = context.getSharedPreferences("loginDetails",Context.MODE_PRIVATE);
}
/**
* To set login details
* @param userName : username to set
* @param password : password to set
*/
public void setLoginDetails(String userName, String password) {
SharedPreferences.Editor editor = sharedPreferences.edit();
editor.putString("userName",userName);
editor.putString("password",password);
editor.commit();
}
/**
* To check and get login details
* @param userName : name to validate
* @param password : password to validate
* @return true : if valid user
* false : if valid password
*/
public boolean isValidUser(String userName, String password) {
// to get username
Log.d(TAG, "username = " + sharedPreferences.getString("userName", null));
Log.d(TAG, "password = " + sharedPreferences.getString("password", null));
if(sharedPreferences.getString("userName",null).equals(userName) && sharedPreferences.getString("password",null).equals(password))
return true;
else
return false;
}
}
要在應用程序從任何地方訪問(活動/片段)
SharedPreferencesHelper sharedPreferencesHelper = new SharedPreferencesHelper(this);
sharedPreferencesHelper.setLoginDetails("admin","admin");
sharedPreferencesHelper.isValidUser("admin","admin");
這可能會幫助你。
比方說,這是你的共享偏好:
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext());
,你可以這樣設置默認值:
String username = sharedPreferences.getString("USER_NAME", "DEFAULT_VALUE");
[Android中SharedPrefrences](可能的重複http://stackoverflow.com/questions/18442592/sharedprefrences-in-android) –
嘗試做谷歌之前問stackover流 –
我已經GOOGLE了它,並沒有幫助。 –