• Uncategorized
  • 0

9.1: Shared Preferences

Task 1. Explore HelloSharedPrefs

1.1 Open and Run the HelloSharedPrefs Project

  1. Unduh aplikasi HelloSharedPrefs-Start dan buka zip file.
  2. Buka aplikasi di Android Studio.
  3. Bangun dan jalankan proyek di Android Studio. Coba hal-hal berikut ini:
    • Klik tombol Count untuk menambah angka di tampilan teks utama.
    • Klik tombol warna apa pun untuk mengubah warna latar belakang tampilan teks utama.
    • Putar perangkat dan perhatikan bahwa warna latar belakang dan hitungan dipertahankan.
    • Klik tombol Reset untuk menyetel warna dan hitungan kembali ke defaultnya.

cara lain untuk menghentikan aplikasi bisa menggunakan tombol Ikon Berhenti  di toolbar. dan jika palikasi di jalankan kembali dengan penampilan default — hitungan kembali ke 0 dan warna latar belakang abu-abu.

1.2 Explore the Activity code

  1. Buka MainActivity (java/com.example.android.simplecalc/MainActivity).
  2. Periksa kodenya dan catat yang berikut ini:
    • Hitungan (mCount) didefinisikan oleh sebuah integer. Metode handler klik countUp() menambah nilai ini dan memperbarui TextView utama.
    • Warna (mColor) juga merupakan integer yang awalnya didefinisikan sebagai abu-abu di file sumber daya colors.xml sebagai default_background.
    • Metode handler klik changeBackground() mendapatkan warna latar belakang tombol yang diklik, lalu menyetel warna latar belakang TextView utama.
    • Kedua integer hitungan dan warna disimpan ke bundel keadaan instance di onSaveInstanceState(), dan dipulihkan di onCreate(). Kunci bundel untuk hitungan dan warna didefinisikan oleh variabel pribadi (COUNT_KEY) dan (COLOR_KEY).

Task 2. Save and restore data to a shared preferences file

2.1 Initialize the preferences

  1. Tambahkan variabel anggota ke kelas MainActivity untuk menampung nama file preferensi bersama dan sebuah referensi ke objek SharedPreferences.
private SharedPreferences mPreferences;
private String sharedPrefFile = "com.example.android.hellosharedprefs";

Anda bisa menamai file preferensi bersama dengan nama apa pun yang Anda ingin, tetapi umumnya namanya sama dengan nama paket aplikasi Anda.

2. Di metode onCreate(), inisialisasi preferensi bersama. Pastikan Anda menyisipkan kode ini sebelum pernyataan if:

mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);

Metode getSharedPreferences() membuka file di nama file yang diberikan (sharedPrefFile) dengan mode MODE_PRIVATE.

2.2 Save preferences in onPause()

  1. Klik baris terakhir kelas MainActivity, tepat sebelum tanda kurung penutup.
  2. Pilih Code > Generate, lalu pilih Override Methods.
  3. Ketikkan “onPause”, pilih tanda tangan metode untuk metode onPause() dan klik OK.

    Metode onPause() kerangka ditambahkan ke titik penyisipan.

  4. Dapatkan sebuah editor untuk objek SharedPreferences:

    SharedPreferences.Editor preferencesEditor = mPreferences.edit();
    

    Editor preferensi bersama diperlukan untuk menulis ke objek shared preference. Tambahkan baris ini ke onPause() setelah panggilan ke super.onPause().

  5. Gunakan metode putInt() untuk menempatkan integer mCount dan mCurrentColor ke dalam preferensi bersama dengan kunci yang sesuai:

    preferencesEditor.putInt(COUNT_KEY, mCount);
    preferencesEditor.putInt(COLOR_KEY, mCurrentColor);
  6. Panggil apply() untuk menyimpan preferensi:

    preferencesEditor.apply();
    

    Metode apply() menyimpan preferensi secara asinkron, di luar thread UI. Editor preferensi bersama juga memiliki metode commit() untuk menyimpan preferensi secara sinkron. Metode commit() tidak disarankan karena bisa memblokir operasi lain.

  7. Hapus seluruh metode onSaveInstanceState().

2.3 Restore preferences in onCreate()

  1. Cari bagian dari metode onCreate() yang menguji apakah argumen savedInstanceState adalah null dan mengembalikan keadaan instance:
if (savedInstanceState != null) {
   mCount = savedInstanceState.getInt(COUNT_KEY);
   if (mCount != 0) {
       mShowCountTextView.setText(String.format("%s", mCount));
   }
   mColor = savedInstanceState.getInt(COLOR_KEY);
   mShowCountTextView.setBackgroundColor(mColor);
} 2. Hapus seluruh blok tersebut. 3. Di metode onCreate(), di tempat yang sama dengan kode simpan keadaan instance, dapatkan hitungan dari preferensi dengan kunci COUNT_KEY dan tetapkan ke variabel mCount.
mCount = mPreferences.getInt(COUNT_KEY, 0);

4. Perbarui nilai tampilan teks utama dengan hitungan baru.
mShowCountTextView.setText(String.format("%s", mCount));
5. Dapatkan warna dari preferensi dengan kunci COLOR_KEY dan tetapkan ke variabel mColor.
mColor = mPreferences.getInt(COLOR_KEY, mColor);

6. Perbarui warna latar belakang tampilan teks utama.
mShowCountTextView.setBackgroundColor(mColor);
7. Jalankan aplikasi. Klik tombol Count dan ubah warna latar belakang untuk memperbarui keadaan instance dan preferensi. 8. Putar perangkat atau emulator untuk memverifikasi bahwa hitungan dan warna disimpan di perubahan konfigurasi. 

2.4 Reset preferences in the reset() click handler

  1. Di metode handler klik reset(), setelah warna dan hitungan disetel ulang, dapat editor untuk objek SharedPreferences:
    SharedPreferences.Editor preferencesEditor = mPreferences.edit();
    
  2. Hapus semua preferensi bersama:
    preferencesEditor.clear();
    
  3. Terapkan perubahan:
    preferencesEditor.apply();

 


You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *