SharedPreferences adalah semacam session / cookie jika di web, tujuannya untuk melakukan penyimpanan data. Pada implementasinya, biasanya SharedPreferences ini digunakan untuk menyimpan Settingan User, Login Information, atau bisa juga untuk passing parameter dari satu activity ke activity yang lain. SharedPreferences adalah variable global yang dapat diubah-ubah pada saat menjalankan program. Data yang dapat disimpan adalah tipe data primitif (boolean, int, float, long, string).
Berikut adalah code untuk memanggil SharedPreferences :
SharedPreferences pref = getSharedPreferences(“nama_data”, MODE_PRIVATE);
Keterangan :
nama_data dapat diubah sesuai dengan nama SharedPreferences yang diinginkan, nama ini akan dipanggil setiap kali kita ingin mengakses nilai SharedPreferences nantinya. Jika “nama_data” tidak dideklarasikan, maka pref akan berisi SharedPreferences kosong. Sedangkan MODE_PRIVATE adalah salah satu tipe dari SharedPreferences, berikut adalah penjelasannya :
nama_data dapat diubah sesuai dengan nama SharedPreferences yang diinginkan, nama ini akan dipanggil setiap kali kita ingin mengakses nilai SharedPreferences nantinya. Jika “nama_data” tidak dideklarasikan, maka pref akan berisi SharedPreferences kosong. Sedangkan MODE_PRIVATE adalah salah satu tipe dari SharedPreferences, berikut adalah penjelasannya :
- MODE_APPEND : dia mengecek, apabila sudah ada nilai yang dibuat sebelumnya maka nilai tersebut tidak akan diganti/replace melainkan menambah nilai yang baru ke nilai sebelumnya.
- MODE_PRIVATE : mode normal, dimana SharedPreferences hanya bisa diakses dari aplikasi tempat ia di deklarasi saja.
- MODE_WORLD_READABLE : mode dimana SharedPreferences dapat dibaca oleh aplikasi lain, namun aplikasi lain tidak dapat mengubah isinya (READ ONLY).
- MODE_WORLD_WRITEABLE : mode dimana SharedPreferences dapat dibaca oleh aplikasi lain, dan aplikasi lain dapat mengubah isinya.
- MODE_MULTI_PROCESS: Beberapa proses dapat modifiy sama file preferensi bersama.
Code untuk mengubah nilai SharedPreferences adalah sebagai berikut :
SharedPreferences pref = getSharedPreferences (“nama_data”,
MODE_PRIVATE);
Editor edt = pref.edit ();
edt.putString(“username”, “galang”);
edt.commit ();
Untuk mengubah nilai SharedPreferences diperlukan Editor. Jadi kita membuat objek Editor dan menghubungkannya dengan SharedPreferences dengan code pref.edit();, setelah itu kita memasukan String “galang” ke dalam SharedPreferences “nama_data” dengan key “username”. Sesudah itu, lakukan edt.commit(); untuk untuk konfirmasi. Anda dapat melakukan hal ini dari Activity manapun atau bahkan program lain dalam satu ponsel apabila menggunakan MODE_WORLD_WRITEABLE.
Berikut adalah code untuk membaca nilai dari SharedPreferences :
SharedPreferences pref = getSharedPreferences ("nama_data", Context.MODE_PRIVATE);
String username = pref.getString ("username", null);
Jadi kita hanya perlu
memanggil SharedPreferences seperti diatas, lalu mengambil nilai dari key username dengan
menggunakan pref.getString(“username”,null);. Tujuan nilai null disini
adalah nilai default yang akan di return
apabila key username belum pernah di deklarasikan sebelumnya. Dan seperti tadi,
kita dapat melakukan ini di seluruh Activity dalam aplikasi atau aplikasi lain
jika menggunakan MODE_WORLD_READABLE atau MODE_WORLD_WRITEABLE.
Sumber :
Sumber :
sumber lain :
https://diandeveloper.wordpress.com/tag/android-2/
Sign up here with your email
EmoticonEmoticon