2016-01-13 74 views
-5

我有应用程序与编码密钥,这应该是从应用程序的所有部分可见。它必须具有默认值,并且能够从其中一项活动中进行更改。我怎样才能设置这个默认值?为整个应用程序的SharedPreferences设置默认值

+2

[Android中SharedPrefrences](可能的重复http://stackoverflow.com/questions/18442592/sharedprefrences-in-android) –

+3

尝试做谷歌之前问stackover流 –

+0

我已经GOOGLE了它,并没有帮助。 –

回答

0

要保存默认值,您有两个选项。 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"); 

这可能会帮助你。

0

比方说,这是你的共享偏好:

SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(getContext()); 

,你可以这样设置默认值:

String username = sharedPreferences.getString("USER_NAME", "DEFAULT_VALUE"); 
相关问题