Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为整个应用程序的SharedReferences设置默认值_Java_Android_Android Sharedpreferences - Fatal编程技术网

Java 为整个应用程序的SharedReferences设置默认值

Java 为整个应用程序的SharedReferences设置默认值,java,android,android-sharedpreferences,Java,Android,Android Sharedpreferences,我有一个带有编码键的应用程序,它应该可以从应用程序的所有部分看到。它必须有一个默认值,并且能够从其中一个活动中进行更改。如何设置此默认值?要保存默认值,您有两个选项。 1.共享引用 2.数据库 尝试使用SharedReference 创建助手类 public class SharedPreferencesHelper { private static final String TAG = "SharedPreferencesHelper"; Context context;

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

要保存默认值,您有两个选项。 1.共享引用 2.数据库

尝试使用SharedReference

创建助手类

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");

可能重复在stackover Flow上提问之前尝试做google我已经在google上搜索过了,但没有帮助。你的问题不清楚。询问并适当解释可能的副本