【问题标题】:Set default values for the SharedPreferences for the whole aplication为整个应用程序的 SharedPreferences 设置默认值
【发布时间】:2016-04-18 04:48:37
【问题描述】:

我有带有编码键的应用程序,它应该从应用程序的所有部分都可见。它必须具有默认值并且能够从其中一项活动中更改。如何设置此默认值?

【问题讨论】:

标签: java android android-sharedpreferences


【解决方案1】:

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

这可能会对你有所帮助。

【讨论】:

    【解决方案2】:

    假设这是您的共同偏好:

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

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

    String username = sharedPreferences.getString("USER_NAME", "DEFAULT_VALUE");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-01
      • 1970-01-01
      • 2018-03-15
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2014-02-09
      相关资源
      最近更新 更多