在 android 中创建公共共享首选项 class 并使用该 class 从项目中的所有模块中获取和设置数据

Creating a common Shared Preference class in android and using that class to fetch and set data from across all the modules in the project

在 android 中创建一个共同的共享首选项 class 并使用它 class 从项目中的所有模块中获取和设置数据,请分享 (.java) 文件并对其进行简要说明,并解释流程,如如何调用共享首选项 common class、如何设置数据以及如何检索数据。提前致谢:)

目前关注的内容如下:

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, 
MODE_PRIVATE).edit();
editor.putString("name", "Elena");
editor.putInt("idName", 12);
editor.apply();

// For fetching data from preference)
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, 
MODE_PRIVATE); 
String name = prefs.getString("name", "No name defined");//"No name 
defined" is the default value.
int idName = prefs.getInt("idName", 0); //0 is the default value.

''''''''''''''''''''''''''''''''''''''''''

创建一个单例class 从上下文中初始化一个实例,如下所示:

public class MySharedPrefs {
    private static MySharedPrefs sSharedPrefs;
    private SharedPreferences mPref;
    private SharedPreferences.Editor mEditor;

    private MySharedPrefs(Context context) {
        mPref = context.getSharedPreferences("NAME", Context.MODE_PRIVATE);
    }


    public static MySharedPrefs getInstance(Context context) {
        if (sSharedPrefs == null) {
            sSharedPrefs = new MySharedPrefs(context.getApplicationContext());
        }
        return sSharedPrefs;
    }
}

并且可以在mEditor上调用put和get来设置值,例如:

public void putString(String key, String val) {
    mEditor = mPref.edit();
    mEditor.putString(key, val);
    mEditor.commit();
}
public String getString(String key) {
    return mPref.getString(key, "defaultValue");
}

在这里发布我的答案,这个答案对我有帮助,希望这对你们也有帮助谢谢:)

public class SharedPref {

private static SharedPreferences mSharedPref;
public static final String PREF_NAME = "NG_CAD_FIRST_RESPONDER";
public static final String ACCESS_TOKEN = "ACCESS_TOKEN";
public static final String IS_READ_UNREAD_REQUIRED = "isReadUnreadRequired";
public static final String Access_State_Device = "accessStateDevice";


private SharedPref()
{

}

public static void init(Context context)
{
    if(mSharedPref == null)
        mSharedPref = context.getSharedPreferences(context.getPackageName(), Activity.MODE_PRIVATE);
}

 
public static String getString(String key, String defValue) {
    return mSharedPref.getString(key, defValue);
}

public static void putString(String key, String value) {
    SharedPreferences.Editor prefsEditor = mSharedPref.edit();
    prefsEditor.putString(key, value);
    prefsEditor.apply();
}

public static Integer getInteger(String key, int defValue) {
    return mSharedPref.getInt(key, defValue);
}

public static void putInteger(String key, Integer value) {
    SharedPreferences.Editor prefsEditor = mSharedPref.edit();
    prefsEditor.putInt(key, value);
    prefsEditor.apply();
}


public static boolean getBoolean(String key, boolean defValue) {
    return mSharedPref.getBoolean(key, defValue);
}

public static void putBoolean(String key, boolean value) {
    SharedPreferences.Editor prefsEditor = mSharedPref.edit();
    prefsEditor.putBoolean(key, value);
    prefsEditor.apply();
}

public static long getLong(String key, long defValue) {
    return mSharedPref.getLong(key, defValue);
}

public static void putLong(String key, long value) {
    SharedPreferences.Editor prefsEditor = mSharedPref.edit();
    prefsEditor.putLong(key, value);
    prefsEditor.apply();
}


public static float getFloat(String key, float defValue) {
    return mSharedPref.getFloat(key, defValue);
}

public static void putFloat(String key, float value) {
    SharedPreferences.Editor prefsEditor = mSharedPref.edit();
    prefsEditor.putFloat(key, value);
    prefsEditor.apply();
}


//// Clear Preference ////
public static void clearPreference(Context context) {
    mSharedPref.edit().clear().apply();
}

//// Remove ////
public static void removePreference(String Key){
    mSharedPref.edit().remove(Key).apply();
}

}

优先获取和放置数据:

SharedPref.init(getApplicationContext());


SharedPref.getString("LATITUDE", ""));
SharedPref.putString("LATITUDE", latValue);