Cara Cepat Load Shared Preferences di Android

Cara Cepat Load Shared Preferences di Android

Cara di mana seseorang dapat menyimpan dan mengambil sejumlah kecil data primitif sebagai pasangan kunci / nilai pada file di penyimpanan perangkat seperti String, int, float, Boolean yang membuat preferensi kita dalam file XML di dalam aplikasi pada penyimpanan perangkat. Simplenya shared preferences seperti session di PHP.

Alih – alih kita memanggil class SharedPreferences yang cukup membuat baris, dengan kelas ini kita hanya memanggil satu baris kode saja.

Contoh menyimpan data

Sebelum

SharedPreferences preferences = getPreferences(MODE_PRIVATE);
int storedPreference = preferences.getInt("storedInt", 0);
SharedPreferences preferences = getPreference(MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
editor.putInt("storedInt", storedPreference); // value to store
editor.commit();

Sesudah

AppPreference.getInstance(getApplicationContext()).setInteger("storedInt",0);

Contoh mengambil data

Sebelum

SharedPreferences sharePref = context.getSharedPreferences("KEY",  MODE_PRIVATE);
SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(this);
String name = sp.getString("key", "");

Sesudah

String name = AppPreference.getInstance(getApplicationContext()).getString("text","");

Berikut ini kelas AppPreference.java

public class AppPreference {
    //AppPreference.java
    private static String APP_NAME = "APP_NAME";

    // declare context
    private static Context mContext;

    // singleton
    private static AppPreference appPreference = null;

    // common
    private SharedPreferences sharedPreferences, settingsPreferences;
    private SharedPreferences.Editor editor;

    public static AppPreference getInstance(Context context) {
        if (appPreference == null) {
            mContext = context;
            appPreference = new AppPreference();
        }
        return appPreference;
    }

    private AppPreference() {
        sharedPreferences = mContext.getSharedPreferences(APP_NAME, Context.MODE_PRIVATE);
        settingsPreferences = PreferenceManager.getDefaultSharedPreferences(mContext);
        editor = sharedPreferences.edit();
        editor.apply();
    }

    //hapus
    public void clearAll(){
        editor.clear().apply();
    }

    public void setString(String key, String value) {
        editor.putString(key, value);
        editor.commit();
    }

    public String getString(String key) {
        String string = sharedPreferences.getString(key, "0");
        return string;
    }

    public void setBoolean(String key, boolean value) {
        editor.putBoolean(key, value);
        editor.commit();
    }

    //cek adakah session?
    public Boolean hasKey(String key) {
        return sharedPreferences.contains(key);
    }

    public Boolean getBoolean(String key, boolean defaultValue) {
        return sharedPreferences.getBoolean(key, defaultValue);
    }

    public void setInteger(String key, int value) {
        editor.putInt(key, value);
        editor.commit();
    }

    public void removeString(String key) {
        editor.remove(key);
        editor.commit();
    }

    public int getInteger(String key) {
        return sharedPreferences.getInt(key, -1);
    }

}

 

Related posts

Leave a Comment