SlideShare ist ein Scribd-Unternehmen logo
1 von 10
Downloaden Sie, um offline zu lesen
PERTEMUAN 9:
PREFERENCES DAN MENU
A. TUJUAN PEMBELAJARAN
Adapun tujuan pembelajaran yang akan dicapai sebagai berikut:
9.1 Mengenal Shared Preferences dan Menu
9.2 Membuat Desain Project Preference dan Menu
B. URAIAN MATERI
Tujuan Pembelajaran 9.1:
Mengenal Shared Preferences dan Menu
Preferences adalah format berbentuk seperti map yaitu pasangan antara key dan value-nya.
Preferences digunakan untuk menyimpan setting-setting tentang aplikasi. Preferences ini bisa
disimpan sebagai:
a. ​Shared preferences adalah preferences yang bisa digunakan oleh semua komponen
dalam aplikasi yaitu activiy, service dan lainnya.
b. ​Activity preferences adalah preferences yang digunakan untuk satu activity saja dan
tidak bisa digunakan oleh komponen lainnya dalam aplikasi.
Untuk mengakses preferences dapat mengunakan metode di bawah ini:
• ​getPreferences()
• ​getSharedPreferences()
• ​getDefaultSharedPreferences(), adalah metode yang digunakan untuk mengambil Shared
Preferences yang terdapat dalam file default.
Menu adalah tampilan menu berbentuk pop-up.
Tujuan Pembelajaran 9.2:
Membuat Desain Project Preference dan Menu
Gambar 9. 1 Kotak dialog android application project
Gambar 9. 2 Kotak dialog penamaan project
Gambar 9. 3 kotak dialog penentuan lokasi project
Gambar 9. 4 kotak dialog konfigurasi launcher icon
Gambar 9. 5 kotak dialog pilih jenis activity
Gambar 9. 6 kotak dialog penamaan activity
Gambar 9. 7 Layout aplikasi
Gambar 9. 8 outline aplikasi preferences dan menu
Pada nama project, klik kanan dan pilih New >> Other, kemudian pilih Android Activity seperti
Gambar 9.9 berikut ini:
Gambar 9. 9
Gambar 9. 10
Gambar 9. 11
Klik tombol Finish.
Klik tombol Finish.
Gambar 9. 12
Gambar 9. 13
Pengaturan teks yang ditampilkan di menu dapat diatur melalui folder menu
(activity_main.xml dan activity_setting.xml), dan values (strings.xml):
activity_main.xml
<menu
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:id="@+id/menu_pengaturan"
android:orderInCategory="100"
android:showAsAction="never"
android:title="@string/menu_pengaturan"/>
android:showAsAction="never"
android:title="@string/menu_pengaturan"/>
<item
android:id="@+id/menu_keluar"
android:orderInCategory="200"
android:showAsAction="never"
android:title="@string/menu_keluar"/>
</menu>
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">PreferenceMenu</string>
<string name="menu_keluar">Keluar</string>
<string name="menu_pengaturan">Pengaturan</string>
<string
name="title_activity_setting">SettingActivity</string>
</resources>
activity_setting.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
>
</menu>
Source Code MainActivity.java
package com.unpam.preferencemenu;
import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener; import
android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity
implements OnClickListener { ​static final
int SETTING = 1;
​SharedPreferences preferences;
​TextView textView;
​Button button;
​@Override
​protected void onCreate(Bundle savedInstanceState) {
​ ​super.onCreate(savedInstanceState); ​
​setContentView(R.layout.activity_main);
​ ​textView = (TextView)
findViewById(R.id.textView1); ​ ​button = (Button)
findViewById(R.id.button1); ​
​button.setOnClickListener(this);
findViewById(R.id.button1); ​
​button.setOnClickListener(this);
​ ​preferences =
PreferenceManager.getDefaultSharedPreferences(this); ​
​textView.setText(preferences.getString("nilaitextview",
"TextView (default)")); ​
​button.setText(preferences.getString("nilaibutton",
"Button (default)"));
​}
​@Override
​public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if
it is present.
​ ​getMenuInflater().inflate(R.menu.activity_main,
menu); ​ ​return true;
​}
​@Override
public void onClick(View v) {
​ ​// TODO Auto-generated method stub ​
​switch (v.getId()) {
case R.id.button1:
​ ​ ​Toast.makeText(this,
preferences.getString("nilaibutton", "Button (default)")+"
diklik", Toast.LENGTH_SHORT).show();
​ ​}
​}
​@Override
​public boolean onOptionsItemSelected(MenuItem item) {
​ ​switch (item.getItemId()) {
​ ​case R.id.menu_pengaturan:
​ ​ ​Intent settingIntent = new Intent(this,
SettingActivity.class); ​ ​
​startActivityForResult(settingIntent, SETTING);
​ ​ ​return true;
​ ​case
R.id.menu_keluar: ​ ​
​System.exit(0); ​
​ ​return true; ​
​default:
​ ​ ​return super.onOptionsItemSelected(item);
​ ​}
​}
​@Override
​protected void onActivityResult(int requestCode, int
resultCode, Intent data) {
​ ​switch (requestCode) {
​ ​case SETTING:
​
​textView.setText(preferences.getString("nilaitextview",
​
​textView.setText(preferences.getString("nilaitextview",
"TextView (default)"));
​
button.setText(preferences.getString("nilaibutton", "Button
(default)"));
​ ​}
​}
}
Source Code SettingActivity
package com.unpam.preferencemenu;
import android.os.Bundle;
import android.preference.PreferenceManager;
import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.view.Menu;
import android.widget.EditText;
public class SettingActivity extends Activity {
​SharedPreferences preferences; ​EditText
nilaiTextView;
​ ​EditText nilaiButton;
​ ​@Override
​protected void onCreate(Bundle savedInstanceState) {
​ ​super.onCreate(savedInstanceState);
​ ​ ​setContentView(R.layout.activity_setting);
nilaiTextView = (EditText)
findViewById(R.id.nilaiTextViewEditText);
nilaiButton = (EditText)
findViewById(R.id.nilaiButtonEditText);
​ ​
preferences =
PreferenceManager.getDefaultSharedPreferences(this);
nilaiTextView.setText(preferences.getString("nilaitextview
", "TextView (default)"));
​nilaiButton.setText(preferences.getString("nilaib
utton", "Button (default)"));
​ ​}
@Override
​ ​public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if
it is present.
​ ​
​getMenuInflater().inflate(R.menu.activity_setting,
menu);
​ ​ ​return true;
​ ​}
​ ​@Override
​ ​protected void onPause() {
​ ​ ​Editor edit = preferences.edit();
​ ​edit.putString("nilaitextview",
​ ​protected void onPause() {
​ ​ ​Editor edit = preferences.edit();
​ ​edit.putString("nilaitextview",
nilaiTextView.getText().toString()); ​
​edit.putString("nilaibutton",
nilaiButton.getText().toString());
​ ​edit.commit(); ​
​super.onPause();
​ ​}
}
A. SOAL LATIHAN/TUGAS
Buatlah halaman login dengan konsep shared preferences​
B. DAFTAR PUSTAKA
Allen, Grant. 2012. Beginning Android 4. New York : Apress.
Safaat, H. Nazruddin. 2015. ANDROID Pemrograman Aplikasi Mobile Smartphone dan Tablet
PC Berbasis Android. Bandung: Informatika
205

Weitere ähnliche Inhalte

Was ist angesagt?

Pertemuan 8 google map
Pertemuan 8 google mapPertemuan 8 google map
Pertemuan 8 google map
heriakj
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Shofura Kamal
 
Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan Otomata
Risal Fahmi
 
Toko online erd dan analisis sistem informasi penjualan berbasis web - mode...
Toko online   erd dan analisis sistem informasi penjualan berbasis web - mode...Toko online   erd dan analisis sistem informasi penjualan berbasis web - mode...
Toko online erd dan analisis sistem informasi penjualan berbasis web - mode...
brisma pambudi
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
andiseprianto
 

Was ist angesagt? (20)

Pertemuan 8 google map
Pertemuan 8 google mapPertemuan 8 google map
Pertemuan 8 google map
 
Analisis Kebutuhan
Analisis KebutuhanAnalisis Kebutuhan
Analisis Kebutuhan
 
Soal uas imk bsi
Soal uas imk bsiSoal uas imk bsi
Soal uas imk bsi
 
Pertemuan 5 list view
Pertemuan 5 list viewPertemuan 5 list view
Pertemuan 5 list view
 
Strategi pengujian perangkat lunak
Strategi pengujian perangkat lunakStrategi pengujian perangkat lunak
Strategi pengujian perangkat lunak
 
Konsep dasar UI/UX
Konsep dasar UI/UXKonsep dasar UI/UX
Konsep dasar UI/UX
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Interaksi manusia dan komputer
Interaksi manusia dan komputerInteraksi manusia dan komputer
Interaksi manusia dan komputer
 
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQLLaporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
Laporan Praktikum Basis Data Modul I-Membangun Database SQL Pada MYSQL
 
Kumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik KompilasiKumpulan catatan Teknik Kompilasi
Kumpulan catatan Teknik Kompilasi
 
Software Requirement Specification SRS
Software Requirement Specification SRSSoftware Requirement Specification SRS
Software Requirement Specification SRS
 
Ragam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan KomputerRagam Dialog :: Interaksi Manusia dan Komputer
Ragam Dialog :: Interaksi Manusia dan Komputer
 
Teori bahasa formal dan Otomata
Teori bahasa formal dan OtomataTeori bahasa formal dan Otomata
Teori bahasa formal dan Otomata
 
Toko online erd dan analisis sistem informasi penjualan berbasis web - mode...
Toko online   erd dan analisis sistem informasi penjualan berbasis web - mode...Toko online   erd dan analisis sistem informasi penjualan berbasis web - mode...
Toko online erd dan analisis sistem informasi penjualan berbasis web - mode...
 
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQLKelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
Kelompok 8 - Implementasi Role & Privilege pada database Oracle & my SQL
 
Pembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja onlinePembuatan uml pada toko belanja online
Pembuatan uml pada toko belanja online
 
Kd4 fungsi fungsi agregasi
Kd4 fungsi fungsi agregasiKd4 fungsi fungsi agregasi
Kd4 fungsi fungsi agregasi
 
[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)[RPL2] Class Diagram dan Relasinya (2)
[RPL2] Class Diagram dan Relasinya (2)
 
Analisis ERD Database Rumah Sakit
Analisis ERD Database Rumah SakitAnalisis ERD Database Rumah Sakit
Analisis ERD Database Rumah Sakit
 
Implementasi queue
Implementasi queueImplementasi queue
Implementasi queue
 

Ähnlich wie Pertemuan 9 preferences dan menu

Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
heriakj
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Edi Faizal
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhana
slempase
 
Modul1 pengenalan borlanddelphi7
Modul1 pengenalan borlanddelphi7Modul1 pengenalan borlanddelphi7
Modul1 pengenalan borlanddelphi7
asa_guskun
 
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal ReportInsert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Rahmat Taufiq Sigit
 
Modul pemrograman-1-revisi
Modul pemrograman-1-revisiModul pemrograman-1-revisi
Modul pemrograman-1-revisi
Yang Terluka
 
Jeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interfaceJeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interface
UNIVERSITY Of LAMPUNG
 

Ähnlich wie Pertemuan 9 preferences dan menu (17)

Modul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoModul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android Sudaryatno
 
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptxPPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
PPT Pertemuan 04 Mobile Programmer VSGA DTS 2021.pptx
 
Modul 1 konsep dasar pemrograman delphi
Modul   1 konsep dasar pemrograman delphiModul   1 konsep dasar pemrograman delphi
Modul 1 konsep dasar pemrograman delphi
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android Sudaryatno
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android Sudaryatno
 
Pertemuan 4 alert dan toast
Pertemuan 4 alert dan toastPertemuan 4 alert dan toast
Pertemuan 4 alert dan toast
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
 
15. lampiran listing program
15. lampiran   listing program15. lampiran   listing program
15. lampiran listing program
 
Belajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhanaBelajar android studio dengan membuat aplikasi android sederhana
Belajar android studio dengan membuat aplikasi android sederhana
 
Modul1 pengenalan borlanddelphi7
Modul1 pengenalan borlanddelphi7Modul1 pengenalan borlanddelphi7
Modul1 pengenalan borlanddelphi7
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
 
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal ReportInsert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
Insert, Edit, Delete pada VB 2010 dengan DB Mysql dan Crystal Report
 
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
Persiapan Sebelum Ujian Sertifikasi Associate Android Developer - Ahmad Arif ...
 
Pemrograman Bergerak Diskusi 5.pdf
Pemrograman Bergerak Diskusi 5.pdfPemrograman Bergerak Diskusi 5.pdf
Pemrograman Bergerak Diskusi 5.pdf
 
Modul visual basic
Modul visual basicModul visual basic
Modul visual basic
 
Modul pemrograman-1-revisi
Modul pemrograman-1-revisiModul pemrograman-1-revisi
Modul pemrograman-1-revisi
 
Jeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interfaceJeni slides j2 me-03-high level user interface
Jeni slides j2 me-03-high level user interface
 

Kürzlich hochgeladen

4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
sonyaawitan
 
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdshKISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
DosenBernard
 
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953
 
undang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogorundang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogor
ritch4
 
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
TaufikTito
 
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec AsliJual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Cytotec Asli 085225524732 Obat Penggugur Kandungan
 
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerjaContoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
IniiiHeru
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
buktifisikskp23
 
Keracunan bahan kimia,ektasi,opiat,makanan.ppt
Keracunan bahan kimia,ektasi,opiat,makanan.pptKeracunan bahan kimia,ektasi,opiat,makanan.ppt
Keracunan bahan kimia,ektasi,opiat,makanan.ppt
DIGGIVIO2
 

Kürzlich hochgeladen (20)

PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptxPEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
PEMANTAUAN HEMODINAMIK.dalam keperawatan pptx
 
4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
4. PENGELOLAAN ALAT MEDIS BEKAS PAKAIhbnbbv PPI DASAR (1).pdf
 
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MAMateri Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
Materi Pajak Untuk BOS tahun 2024 untuk madrasah MI,MTS, dan MA
 
Menganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSSMenganalisis T Test dengan menggunakan SPSS
Menganalisis T Test dengan menggunakan SPSS
 
Digital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase FDigital Onboarding (Bisnis Digital) Fase F
Digital Onboarding (Bisnis Digital) Fase F
 
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdshKISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
KISI-KISI USEK PJOK TA 2023-2024 anans ajaja jaja hdsh
 
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
Jual Obat Aborsi Tasikmalaya ( Asli Ampuh No.1 ) 082223109953 Tempat Klinik J...
 
undang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogorundang undang penataan ruang daerah kabupaten bogor
undang undang penataan ruang daerah kabupaten bogor
 
PPT SIDANG UJIAN KOMPREHENSIF KUALITATIF
PPT SIDANG UJIAN KOMPREHENSIF KUALITATIFPPT SIDANG UJIAN KOMPREHENSIF KUALITATIF
PPT SIDANG UJIAN KOMPREHENSIF KUALITATIF
 
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
15_Contoh_Surat_Lamaran_Kerja_Lengkap_de.pdf
 
PPT PROFESI KEPENDIDIKAN kelompok 7.pptx
PPT PROFESI KEPENDIDIKAN kelompok 7.pptxPPT PROFESI KEPENDIDIKAN kelompok 7.pptx
PPT PROFESI KEPENDIDIKAN kelompok 7.pptx
 
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec AsliJual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
Jual Pil Penggugur Kandungan 085225524732 Obat Aborsi Cytotec Asli
 
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptxPPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
PPT SEMINAR PROPOSAL KLASIFIKASI CNN.pptx
 
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdfAlur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
Alur Pengajuan Surat Keterangan Pindah (Individu) lewat IKD.pdf
 
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerjaContoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
Contoh laporan K3 perusahaan pada tahun 2023 dgn analisis beban kerja
 
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
Telaah Kurikulum dan Buku Teks Mata Pelajaran Bahasa Indonesia Sekolah Dasar ...
 
contoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjanacontoh judul tesis untuk mahasiswa pascasarjana
contoh judul tesis untuk mahasiswa pascasarjana
 
Keracunan bahan kimia,ektasi,opiat,makanan.ppt
Keracunan bahan kimia,ektasi,opiat,makanan.pptKeracunan bahan kimia,ektasi,opiat,makanan.ppt
Keracunan bahan kimia,ektasi,opiat,makanan.ppt
 
materi konsep dan Model TRIASE Bencana.pptx
materi konsep dan Model TRIASE Bencana.pptxmateri konsep dan Model TRIASE Bencana.pptx
materi konsep dan Model TRIASE Bencana.pptx
 
PPT Kelompok 2 tantangan Manajemen Inovasi.pptx
PPT Kelompok 2 tantangan Manajemen Inovasi.pptxPPT Kelompok 2 tantangan Manajemen Inovasi.pptx
PPT Kelompok 2 tantangan Manajemen Inovasi.pptx
 

Pertemuan 9 preferences dan menu

  • 1. PERTEMUAN 9: PREFERENCES DAN MENU A. TUJUAN PEMBELAJARAN Adapun tujuan pembelajaran yang akan dicapai sebagai berikut: 9.1 Mengenal Shared Preferences dan Menu 9.2 Membuat Desain Project Preference dan Menu B. URAIAN MATERI Tujuan Pembelajaran 9.1: Mengenal Shared Preferences dan Menu Preferences adalah format berbentuk seperti map yaitu pasangan antara key dan value-nya. Preferences digunakan untuk menyimpan setting-setting tentang aplikasi. Preferences ini bisa disimpan sebagai: a. ​Shared preferences adalah preferences yang bisa digunakan oleh semua komponen dalam aplikasi yaitu activiy, service dan lainnya. b. ​Activity preferences adalah preferences yang digunakan untuk satu activity saja dan tidak bisa digunakan oleh komponen lainnya dalam aplikasi. Untuk mengakses preferences dapat mengunakan metode di bawah ini: • ​getPreferences() • ​getSharedPreferences() • ​getDefaultSharedPreferences(), adalah metode yang digunakan untuk mengambil Shared Preferences yang terdapat dalam file default. Menu adalah tampilan menu berbentuk pop-up. Tujuan Pembelajaran 9.2: Membuat Desain Project Preference dan Menu Gambar 9. 1 Kotak dialog android application project
  • 2. Gambar 9. 2 Kotak dialog penamaan project Gambar 9. 3 kotak dialog penentuan lokasi project
  • 3. Gambar 9. 4 kotak dialog konfigurasi launcher icon Gambar 9. 5 kotak dialog pilih jenis activity Gambar 9. 6 kotak dialog penamaan activity
  • 4. Gambar 9. 7 Layout aplikasi Gambar 9. 8 outline aplikasi preferences dan menu Pada nama project, klik kanan dan pilih New >> Other, kemudian pilih Android Activity seperti Gambar 9.9 berikut ini:
  • 5. Gambar 9. 9 Gambar 9. 10 Gambar 9. 11 Klik tombol Finish.
  • 6. Klik tombol Finish. Gambar 9. 12 Gambar 9. 13 Pengaturan teks yang ditampilkan di menu dapat diatur melalui folder menu (activity_main.xml dan activity_setting.xml), dan values (strings.xml): activity_main.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > <item android:id="@+id/menu_pengaturan" android:orderInCategory="100" android:showAsAction="never" android:title="@string/menu_pengaturan"/>
  • 7. android:showAsAction="never" android:title="@string/menu_pengaturan"/> <item android:id="@+id/menu_keluar" android:orderInCategory="200" android:showAsAction="never" android:title="@string/menu_keluar"/> </menu> strings.xml <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">PreferenceMenu</string> <string name="menu_keluar">Keluar</string> <string name="menu_pengaturan">Pengaturan</string> <string name="title_activity_setting">SettingActivity</string> </resources> activity_setting.xml <menu xmlns:android="http://schemas.android.com/apk/res/android" > </menu> Source Code MainActivity.java package com.unpam.preferencemenu; import android.app.Activity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.preference.PreferenceManager; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class MainActivity extends Activity implements OnClickListener { ​static final int SETTING = 1; ​SharedPreferences preferences; ​TextView textView; ​Button button; ​@Override ​protected void onCreate(Bundle savedInstanceState) { ​ ​super.onCreate(savedInstanceState); ​ ​setContentView(R.layout.activity_main); ​ ​textView = (TextView) findViewById(R.id.textView1); ​ ​button = (Button) findViewById(R.id.button1); ​ ​button.setOnClickListener(this);
  • 8. findViewById(R.id.button1); ​ ​button.setOnClickListener(this); ​ ​preferences = PreferenceManager.getDefaultSharedPreferences(this); ​ ​textView.setText(preferences.getString("nilaitextview", "TextView (default)")); ​ ​button.setText(preferences.getString("nilaibutton", "Button (default)")); ​} ​@Override ​public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. ​ ​getMenuInflater().inflate(R.menu.activity_main, menu); ​ ​return true; ​} ​@Override public void onClick(View v) { ​ ​// TODO Auto-generated method stub ​ ​switch (v.getId()) { case R.id.button1: ​ ​ ​Toast.makeText(this, preferences.getString("nilaibutton", "Button (default)")+" diklik", Toast.LENGTH_SHORT).show(); ​ ​} ​} ​@Override ​public boolean onOptionsItemSelected(MenuItem item) { ​ ​switch (item.getItemId()) { ​ ​case R.id.menu_pengaturan: ​ ​ ​Intent settingIntent = new Intent(this, SettingActivity.class); ​ ​ ​startActivityForResult(settingIntent, SETTING); ​ ​ ​return true; ​ ​case R.id.menu_keluar: ​ ​ ​System.exit(0); ​ ​ ​return true; ​ ​default: ​ ​ ​return super.onOptionsItemSelected(item); ​ ​} ​} ​@Override ​protected void onActivityResult(int requestCode, int resultCode, Intent data) { ​ ​switch (requestCode) { ​ ​case SETTING: ​ ​textView.setText(preferences.getString("nilaitextview",
  • 9. ​ ​textView.setText(preferences.getString("nilaitextview", "TextView (default)")); ​ button.setText(preferences.getString("nilaibutton", "Button (default)")); ​ ​} ​} } Source Code SettingActivity package com.unpam.preferencemenu; import android.os.Bundle; import android.preference.PreferenceManager; import android.app.Activity; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.view.Menu; import android.widget.EditText; public class SettingActivity extends Activity { ​SharedPreferences preferences; ​EditText nilaiTextView; ​ ​EditText nilaiButton; ​ ​@Override ​protected void onCreate(Bundle savedInstanceState) { ​ ​super.onCreate(savedInstanceState); ​ ​ ​setContentView(R.layout.activity_setting); nilaiTextView = (EditText) findViewById(R.id.nilaiTextViewEditText); nilaiButton = (EditText) findViewById(R.id.nilaiButtonEditText); ​ ​ preferences = PreferenceManager.getDefaultSharedPreferences(this); nilaiTextView.setText(preferences.getString("nilaitextview ", "TextView (default)")); ​nilaiButton.setText(preferences.getString("nilaib utton", "Button (default)")); ​ ​} @Override ​ ​public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. ​ ​ ​getMenuInflater().inflate(R.menu.activity_setting, menu); ​ ​ ​return true; ​ ​} ​ ​@Override ​ ​protected void onPause() { ​ ​ ​Editor edit = preferences.edit(); ​ ​edit.putString("nilaitextview",
  • 10. ​ ​protected void onPause() { ​ ​ ​Editor edit = preferences.edit(); ​ ​edit.putString("nilaitextview", nilaiTextView.getText().toString()); ​ ​edit.putString("nilaibutton", nilaiButton.getText().toString()); ​ ​edit.commit(); ​ ​super.onPause(); ​ ​} } A. SOAL LATIHAN/TUGAS Buatlah halaman login dengan konsep shared preferences​ B. DAFTAR PUSTAKA Allen, Grant. 2012. Beginning Android 4. New York : Apress. Safaat, H. Nazruddin. 2015. ANDROID Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika 205