Dalam penggunaan aplikasi adakalanya kita perlu menyimpan data yang digunakan secara global. Data global itu bisa berupa setting yang digunakan oleh aplikasi atau data terhadap aktivitas yang dilakukan. Bukan seperti parameter yang dilempar pada activity/proses tertentu.
Data yang disimpan secara global itu dengan menggunakan session. Seperti di web, session digunakan ketika aktivitas tertentu dilakukan. Begitu juga di android, kita akan menyimpan value tertentu berdasarkan pilihan proses dari user.
Session pada android menggunakan shared preferences. Dengan menggunakan shared preferences kita dapat menyimpan variable yang sudah memiliki nilai, dan memanggilnya pada waktu yang ditentukan.
Tulisan ini hanya mengenalkan cara dasar penggunaan shared preferences.
Fungsi shared prerferences dapat dipangging melalui method getSharedPreferences(). Kita tentu memerlukan editor untuk mengubah dan menyimpan data pada shared preferences. Berikut code dasar pada inisialisasi:
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode Editor editor = pref.edit();
Jika sudah diinisialisasi, selanjutnya kita perlu menentukan varibel dan menyimpan nilai pada variabel tersebut :
editor.putBoolean("key_name", true); // Storing boolean - true/false editor.putString("key_name", "string value"); // Storing string editor.putInt("key_name", "int value"); // Storing integer editor.putFloat("key_name", "float value"); // Storing float editor.putLong("key_name", "long value"); // Storing long editor.commit(); // commit changes
setiap melakukan perubahan atau menyimpan perlu melakukan commit(). Setelah disimpan, maka ketika kita memerlukan nilai dapat memanggil dengan :
// returns stored preference value // If value is not present return second param value - In this case null pref.getString("key_name", null); // getting String pref.getInt("key_name", null); // getting Integer pref.getFloat("key_name", null); // getting Float pref.getLong("key_name", null); // getting Long pref.getBoolean("key_name", null); // getting boolean
Hanya saja data yang dipanggil bukan menggunakan editor, melainkan method dari shared preferences yang sudah diinisialisasi.
Setelah variable yang digunakan sudah tidak dipakai, maka kita perlu menghapusnya. Dengan menggunakan editor, maka kita cukup memanggil fungsi remove(). untuk variabel tertentu yang kita pilih.
editor.remove("name"); // will delete key name editor.remove("email"); // will delete key email editor.commit(); // commit changes
Namun jika ingin menghapus semua variabel global/ session, maka dapat menggunakan fungsi clear()
editor.clear(); editor.commit(); // commit changes
simple kan 🙂
Membantu saya dalam memahami cara pembuatan session buat login. Terima kasih banyak. 😀
gan…boleh minta source codenya… maaf masih newbie . saya bingung itu kodenya mau taruh dimana.
Berguna banget buat memahami session management app.. makasih tutornya