Android fundamentals 09.1: Shared preferences

Widya Ayu Agustania
8 min readMar 26, 2019

--

Nama: Widya Ayu Agustania

Nim: 1202164177

Kelas: SI4008

9.1

1.1 Open and run the HelloSharedPrefs project

  1. Download HelloSharedPrefs-Starter code.
  2. Buka project diAndroid Studio, dan run aplikasi.

Kemudian coba ikuti langkah berikut:

  1. Klick Count button untuk meng-increment the nomor di main text view.
  2. Klik buton warna lain untuk mengubah warna background dari main text view.
  3. Rotate device dannote bahwa warna background keduanya and count sudah ditetapkan,
  4. Klik Reset button untuk men-set warna dan kembali ke default count.
Sekarang uji apa yang terjadi ketika Anda keluar dan mulai ulang aplikasi:
Tutup paksa aplikasi menggunakan salah satu metode ini:
  • Pada Android Studio, pilihRun > Stop ‘app’ or click the Stop Icon
  • Pada toolbar.
Pada perangkat, tekan tombol Recents (tombol kotak di sudut kanan bawah). Geser kartu aplikasi HelloSharedPrefs untuk keluar dari aplikasi, atau klik X di sudut kanan kartu. Jika Anda keluar dari aplikasi dengan cara ini, tunggu beberapa detik sebelum memulai lagi sehingga sistem dapat membersihkan.
  1. Ulang run aplikasi.

1.2 Explore the Activity code

  1. Buka MainActivity.
  2. Examine code.

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

2.1 Initialize the preferences

  1. Tambahkan member variables untuk kelas MainActivity untuk memegang nama dari file shared preferences , dan sebuah referensi untuk sebuah SharedPreferences object.
private SharedPreferences mPreferences;
private String sharedPrefFile =
"com.example.android.hellosharedprefs";

2. onCreate() method, menginisiasi shared preferences. masukan code ini sebelum if statement:

mPreferences = getSharedPreferences(sharedPrefFile, MODE_PRIVATE);

Source Code di Main Activity

2.2 Save preferences in onPause()

  1. Tambahkan onPause() lifecycle method untuk MainActivity.
@Override
protected void onPause(){
super.onPause();
// ...
}

2. Pada onPause(), dapatkan sebuah editor untuk SharedPreferences object:

SharedPreferences.Editor preferencesEditor = mPreferences.edit();

3. Gunakan putInt() method untuk menaruh kedua mCount dan mColor integers ke shared preferences dengan appropriate keys:

preferencesEditor.putInt(COUNT_KEY, mCount);
preferencesEditor.putInt(COLOR_KEY, mColor);

4. Panggil apply() untuk menyimpan preferences:

preferencesEditor.apply();

5.Hapus dan tambahkan onSaveInstanceState() method. Karena keadaan instance aktivitas berisi data yang sama dengan preferensi bersama, Anda dapat mengganti keadaan instance sama sekali.

2.3 Restore preferences in onCreate()

  1. Lokasikan bagian onCreate() method tes jika savedInstanceState argument adalah null dan restores instance state:
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 entire block.

3. Pada onCreate() method, di tempat yang sama dengan kode keadaan instance, dapatkan hitungan dari preferensi dengan kunci COUNT_KEY dan tetapkan ke variabel mCount.

mCount = mPreferences.getInt(COUNT_KEY, 0);

4. Update value dari main TextView dengan new count.

mShowCountTextView.setText(String.format("%s", mCount));

5. Dapatkan warna dari preferensi dengan tombol COLOR_KEY dan tetapkan ke variabel mColor.

mColor = mPreferences.getInt(COLOR_KEY, mColor);
Seperti sebelumnya, argumen kedua untuk mendapatkanInt () adalah nilai default untuk digunakan jika kunci tidak ada dalam preferensi bersama. Dalam hal ini Anda bisa menggunakan kembali nilai mColor, yang baru saja diinisialisasi ke latar belakang default lebih lanjut dalam metode ini.

6. Update the background color of the main text view.

mShowCountTextView.setBackgroundColor(mColor);

7. Jalankan aplikasi. Klik tombol Hitung dan ubah warna latar belakang untuk memperbarui keadaan instance dan preferensi.

8. Jalankan aplikasi. Klik tombol Hitung dan ubah warna latar belakang untuk memperbarui keadaan instance dan preferensi.

9. Tutup paksa aplikasi menggunakan salah satu metode ini:
Di Android Studio, pilih Run> Stop ‘app.’
Pada perangkat, tekan tombol Recents (tombol kotak di sudut kanan bawah). Geser kartu aplikasi HelloSharedPrefs untuk keluar dari aplikasi, atau klik X di sudut kanan kartu.

10. alankan kembali aplikasi. Aplikasi restart dan memuat preferensi

2.4 Reset preferences in the reset() click handler

  1. In the reset() onClick method, after the color and count are reset, get an editor for the SharedPreferences object:
SharedPreferences.Editor preferencesEditor = mPreferences.edit();

2. Delete all the shared preferences:

preferencesEditor.clear();

3. Apply the changes:

preferencesEditor.apply();

Android fundamentals 09.2: App settings

9.2

1.1 Create the project and add the xml directory and resource file

  1. Pada Android Studio, buat sebua project baru dengan mengikuti parameter berikut:
  • Pada Android Studio buat projek baru dengan nama AppWithSettings
  • Kita harus membuat resource baru dengan cara File>New>Android Resource Directory

pilih File>New>XML resource file

Masukan nama untuk file xml dengan nama preferences.xml

1.2 Add the XML Preference and attribute for the setting

  • Drag SwitchPreference dari palette
  • Ganti atribute menjadi defaultValue=true, key=example_switch, title=Setting option, Summary=Turn this option on or off
  1. 3 Use SwitchPreference

Buka build.gradle(Module:app) kemudian tambahkan codingan yang di blok biru

buka style.xml tambahkan preferenceTheme item

1.4 Add an Activity for Settings

  • Buat Activity Baru beri nama dengan nama SettingsActivity.

1.5 Add a Fragment for a Specific

  • Pilih New>Fregment>Fragment(Blank) dan beri nama SettingsFragment
  • Isi dari class SettingsFragment seperti dibawah ini

ubah isi dari codingan menjadi seperti berikut ini

Akan otomatis import seperti berikut

Tambahkan codingan berikut pada method onCreatePreferences

1.6 Display the Fragment in SettingsActivity

  • Buka SettingsActivity kemudian tambahkan codingan yang di blok biru pada method onCreate()

1.7 Connect the Settings menu item to Setting

  • Buka MainActivity dan tambahkan fungsi if

Tambahkan Intent didalam fungsi if yang mengarah ke class SettingsActivity

Buka AndroidManifest.xml dan temukan pendeklarasian class SettingsActivity

1.8 Save the default values in shared preferences

  • Buka MainActivity, tambahkan codingan yang di blok biru pada method onCreate()

1.9 Read the changed settings value from shared preferences

  • Buka SettingsActivity dan buat variable static final string
  • Buka MainActivity kemudian tambahkan codingan yang di blok biru pada method onCreate()

run aplikasi

TASK 2 — Use the Settings Activity Template

2.1 Explore the Settings Activity template

  • Copy project yang bernama DroidCafeOptionUp dan rename projectnya menjadi DroidCafeWithSettings
  • Buat Activity baru dengan nama SettingsActivity

Expand app>res>xml kemudian buat Settings Activity template yaitu pref_data_sync.xml , pref_general.xml , pref_header.xml , dan pref_notification.xml

2.2 Add the Settings menu item and connect it to the activity

  • Buka menu_main.xml dan tambahkan menu item dengan nama Settings dengan id yaitu action_settings
  • Buka MainActivity dan temukan fungsi switch case di method onOptionsItemSelected()
  • Tambahkan case baru untuk action_settings dengan menggunakan intent yang nantinya membuat aplikasi berpindah ke class SettingsActivity
  • Jalankan Aplikasi dan klik overflow icon dan pilih settings untuk melihat aktivitas settings
  • klik juga Notifications dan Data&Sync

2.3 Customize the Settings Provided by the template

  • Expand res>values>strings.xml
  • Edit pref_header_data_sync dan ubah valuenya menjadi account

Edit pref_title_sync_frequency menjadi Market

Value pref_market_titles adalah seperti berikut ini

value pref_market_value adalah seperti berikut ini

Buka pref_account.xml kemudian jadikan codingannya seperti berikut ini dan ubah android:defaultValue menjadi US

2.4 Add code to set the default values for the settings

  • Buka MainActivity dan tambahkan codingan berikut ini pada method onCreate()

2.5 Add code to read values for the settings

  • Tambahkan codingan berikut ini pada class MainActivity di method onCreate()

Run Aplikasi

ktika di klik general

Ketika di klik Notifikasi

Ketika diklik Account Setting

--

--

No responses yet