RSS

Menggunakan SharedPreferences

15 Jun

Halo,, akhirnya mau posting tutorial lagi.. Sori kalo agak jarang posting tutorial, soalnya kesibukan lagi agak tinggi karena mau launch aplikasi Tasterous yang uda gw posting di postingan sebelumnya.

Sekarang gw mau post ttg penggunaan SharedPreferences. SharedPreferences ini semacam session/cookie kalo di web, jadi tujuan nya buat nge-save data. Pada implementasi nya, biasanya SharedPreferences ini digunakan buat save Setting User, Login Information, atau bisa juga untuk passing parameter kalau yang ingin menggunakan lebih dari 2 activity. Mirip banget lah sama session/cookie di web.

Oke, jadi gw jelasin konsep nya. Mungkin buat yang uda ngerti web programming mestinya ga bakalan susah buat ngerti. Jadi SharedPreferences ini semacam variabel global yang bisa kita ubah-ubah pada saat berjalannya program. Yang baru akan di-“kill” alias dihapus secara default pada saat program di-uninstall atau jika kita juga bisa menghapusnya melalui bahasa program.
Jadi sintax untuk memanggil SharedPreferences di coding Android adalah :

SharedPreferences prefs = getSharedPreferences("myData", MODE_PRIVATE);

“myData” dapat Anda ubah2 sesuai nama SharedPreferences yang Anda inginkan, nama ini akan dipanggil setiap kali Anda ingin mengakses nilai SharedPreferences nantinya. Jika Anda belum pernah mendeklarasi “myData”, maka prefs akan berisi SharedPreferences kosong. Sedangkan MODE_PRIVATE adalah tipe dari SharedPreferences Anda yang dapat diubah menjadi:
MODE_APPEND: dia mengecek, apabila sudah ada nilai yang pernah dibuat sebelumnya, dia tidak me-replace melainkan menambahkan 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 juga dapat mengubah isinya.

Oke lanjut. kemudian sintax untuk mengubah nilai dari SharedPreferences adalah sebagai berikut:

SharedPreferences prefs = getSharedPreferences("myData", MODE_PRIVATE);
Editor mEditor = prefs.edit();
mEditor.putString("username", "danielhc");
mEditor.commit();

Jadi untuk mengubah nilai SharedPreferences diperlukan sebuah editor. Jadi kita membuat sebuah objek editor dan “menghubungkan” nya dengan SharedPreferences kita dengan sintax prefs.edit(). Setelah itu, kita memasukkan sebuah string dengan sintax mEditor.putString(‘nama_variable’, ‘value’). Dalam contoh di atas, saya akan memasukkan String “danielhc” ke dalam SharedPreferences “myData” dengan key “username”. sesudah itu, jangan lupa untuk melakukan mEditor.commit() untuk konfirmasi. Jangan lupa Anda bisa melakukan ini dari activity manapun atau bahkan program lain dalam satu ponsel apabila Anda menggunakan MODE_WORLD_WRITEABLE.

Humm,, satu lagi yaitu sintax untuk membaca nilai dalam SharedPreferences. Sintaxnya cukup sederhana:

SharedPreferences prefs = getSharedPreferences("myData", Context.MODE_PRIVATE);
String username = prefs.getString("username", null);

Yak, ini harusnya mudah dimengerti, jadi Anda hanya perlu memanggil SharedPreferences seperti diatas, lalu mengambil nilai dalam key “username” dengan prefs.getString(“username”, null);
Tujuan null disini adalah nilai default yang akan di-return apabila “username” belum pernah di deklarasikan sebelumnya. Dan seperti tadi, Anda juga dapat melakukan ini di seluruh activity dalam aplikasi atau aplikasi lain jika menggunakan MODE_WORLD_READABLE atau MODE_WORLD_WRITEABLE…

Sekian dulu ya,, kalo ada yang kurang dimengerti silakan comment aja, jangan lupa download aplikasi Tasterous n nantikan tutorial-tutorial selanjutnya..
Terima Kasih..

 
2 Comments

Posted by on June 15, 2011 in Tutorial Advance

 

Tags: ,

2 responses to “Menggunakan SharedPreferences

  1. gaelly~

    October 31, 2012 at 6:16 pm

    cara melihat di program tersebut suda ada sharedpreferencenya bagaimana ya?

     
    • Daniel Hace

      November 9, 2012 at 3:38 pm

      Hi gaelly, saat kita mendeklarasi fungsi SharedPreferences kita dengan syntax:

      SharedPreferences prefs = getSharedPreferences(“myData”, MODE_PRIVATE);

      system dengan sendirinya akan membaca apakah ada SharedPreferences dengan nama “myData”, jika ada dia akan return preference tersebut. Dan jika belum ada dia akan return SharedPreference baru yang isi value nya masih kosong..

      Terima kasih, semoga membantu

       

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: