SharedPreferences

Teori

Android menyediakan beberapa cara untuk menyimpan data pada suatu aplikasi. Salah satu cara tersebut adalah dengan memanfaatkan SharedPreferences. SharedPreferences memungkinkan Anda menyimpan dan mengambil data dalam bentuk pasangan kunci-nilai (key-value pairs). Namun dengan catatan, data yang dapat disimpan hanyalah data yang tipe datanya sederhana seperti:

  • String
  • int/long/float
  • boolean
  • DateTime

Untuk menggunakan SharedPreferences, Anda harus memanggil metode getSharedPreferences() yang sudah ada di setiap class turunan AppCompatActivity. Method tersebut akan mengembalikan instance SharedPreference yang merujuk ke file xml yang berisi nilai preferensi, yang terdapat pada penyimpanan device.

File SharedPreferences di device

Contoh:

SharedPreferences sharedpreferences = this.getSharedPreferences(MyPREFERENCES, Context.MODE_PRIVATE);

Parameter pertama adalah nama SharedPreferences yang kita tentukan sendiri dan parameter kedua adalah MODE. Selain selain MODE_PRIVATE ada beberapa mode lain yang tersedia yaitu:

  • MODE_APPEND

    Menumpuk/menggabungkan data yang ada di SharedPreference yang sudah ada ke SharedPreference yang baru dibuat

  • MODE_ENABLE_WRITE_AHEAD_LOGGING

    Mengatur agar penulisan data menggunakan metode write ahead loggin, adalah sebuah metode khusus pada database. Jika ingin tahu lebih lanjut mengenai write ahead logging, silahkan pelajari materi tentang basis data lanjut dari referensi-referensi yang Anda miliki.

  • MODE_MULTI_PROCESS

    Memungkinkan SharedPreferences diakses oleh banyak proses.

  • MODE_PRIVATE

    Dengan mengatur mode ini, file hanya dapat diakses oleh aplikasi saat ini (yang membuat SharedPreferences itu sendiri)

  • MODE_WORLD_READABLE

    Mode ini memungkinkan aplikasi lain dapat membaca data pada SharedPreference yang dibuat oleh aplikasi saat ini.

  • MODE_WORLD_WRITEABLE

    Mode ini memungkinkan aplikasi lain dapat menulis data pada SharedPreference yang dibuat oleh aplikasi saat ini.

Untuk menulis/menyimpan sesuatu di SharedPreferences dilakukan dengan menggunakan kelas SharedPreferences.Editor. Kemudian dari instance class tersebut dipanggil method edit() yang akan mengembalikan objek dari class Editor. Setelah mendapatkan objek editor tersebut, dapat dipanggil mehod-method putXXX(key, value) dimana XXX adalah tipe data yang ingin ditulis. Setelah selesai menulis tipe data, harus dipanggil apply()/commit() sehingga perubahan dapat disimpan secara permanen.

Contoh sintaksisnya adalah sebagai berikut.

Editor editor = sharedpreferences.edit();
editor.putString("key", "value");
editor.commit(); // Atau editor.apply()

Pada snippet kode diatas, "key" adalah semacam index yang digunakan untuk mengambil nilai "value" yang Anda simpan. Selain putString() & commit() ada method-method lain dari class Editor yang layak untuk Anda ketahui yaitu:

  • apply()

    Menerapkan perubahan yang telah dilakukan pada Editor sehingga menjadi permanen

  • clear()

    Menghapus semua nilai yang ditulis pada Editor.

  • remove(String key)

    Menghapus suatu nilai dengan key yang diberikan di parameter method.

  • putLong(String key, long value)

    Menyimpan nilai dengan tipe data long

  • putInt(String key, int value)

    Menyimpan nilai dengan tipe data int

  • putFloat(String key, float value)

    Menyimpan nilai dengan tipe data float

Sedangkan untuk membaca nilai dari SharedPreferences cukup dengan sintaksis berikut:

SharedPreferences sharedPrefs = this.getSharedPreferences("shared_preferences_name", Context.MODE_PRIVATE);
String valueToRead = sharedPrefs.getString(KEY, null);

Catatan: null pada method getString() adalah nilai default yang dikembalikan jika tidak ditemukan data dengan KEY yang diminta.

hasil yang cocok ""

    Tidak ada hasil yang cocok ""