Android fundamentals 09.1: Shared preferences
Nama: Widya Ayu Agustania
Nim: 1202164177
Kelas: SI4008
9.1
1.1 Open and run the HelloSharedPrefs project
- Download HelloSharedPrefs-Starter code.
- Buka project diAndroid Studio, dan run aplikasi.
Kemudian coba ikuti langkah berikut:
- Klick Count button untuk meng-increment the nomor di main text view.
- Klik buton warna lain untuk mengubah warna background dari main text view.
- Rotate device dannote bahwa warna background keduanya and count sudah ditetapkan,
- 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.
- Ulang run aplikasi.
1.2 Explore the Activity code
- Buka
MainActivity
. - Examine code.
4. Task 2: Save and restore data to a shared preferences file
2.1 Initialize the preferences
- Tambahkan member variables
untuk kelas MainActivity
untuk memegang nama dari file shared preferences , dan sebuah referensiuntuk 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()
Tambahkan onPause()
lifecycle methoduntuk 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()
Lokasikan bagian onCreate()
methodtes 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
- In the
reset()
onClick method, after the color and count are reset, get an editor for theSharedPreferences
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
- 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
- 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