Download - Android Bab5 Preferences
Tujuan
1. Mengetahui dan Memahami Preference Checkbox
2. Mengetahui dan Memahami Preference EditText
3. Mengetahui dan Memahami Preference Organizing
4. Mengetahui dan Memahami Preference Ringtone
5. Mengetahui dan Memahami Preference Menu
Materi Pembelajaran
5. 1. CheckBox Preference
<?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="Flight Search Preferences" android:summary="Set Columns for Search Results"> <CheckBoxPreference android:title="Airline" android:summary="Show Airline column" /> <CheckBoxPreference android:title="Departure" android:summary="Show Departure column" /> <CheckBoxPreference android:title="Arrival" android:summary="Show Arrival column" /> <CheckBoxPreference
android:title="Total Travel Time" android:summary="Show Total Travel Time column" />
<CheckBoxPreference android:title="Price" android:summary="Show Price column" /></PreferenceScreen>
package android.preference;
Versi 1.0 Created by Meruvian Education 1
import android.os.Bundle;
public class CheckBoxPref extends PreferenceActivity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.layout.main); }}
Attribute Description
android:item Untuk judul
android:summary Ringkasan untuk Item
android:dialogTitle Judul untuk dialog, jika view yang ditampilkan adalah sebuah kotak dialog
Versi 1.0 Created by Meruvian Education 2
5.2. EditText Preference
Preference Framework juga memberikan preferensi teks yang disebut sebagai EditTextPreference. Preferensi ini memungkinkan anda untuk menangkap text baku.main.xml<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="Package Name" android:summary="Set package name"> <EditTextPreference android:title="Set Package Name" android:summary="Set the package name for generated code" android:dialogTitle="Package Name" /></PreferenceScreen>
Anda dapat melihat kode diatas bahwa mendefinisikan PreferenceScreen dengan EditTextPreference
tunggal sebagai child nya.
Yang dihasilkan UI untuk listing fitur PreferenceScreen pada gambar disebelah kiri dan
EditTextPreference di sebelah kanan. (lihat gambar 2). Ketika pengguna memilih “Set Package
Name” maka akan tampil dialog untuk memasukkan nama package .
Versi 1.0 Created by Meruvian Education 3
5. 3. Organizing PreferenceOrganizing Preference ini mensupport anda yang ingin mengatur prefensi ke dalam beberapa kategori.
Untuk menerapkan hal ini, anda dapat menggunakan PreferenceScreen atau PreferenceCategory.
<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="Categories" android:summary="Using Preference Categories"> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="Meats" android:summary="Preferences related to Meats"> <CheckBoxPreference android:title="Fish" android:summary="Fish is great for the healthy" /> <CheckBoxPreference android:title="Chicken" android:summary="A common type of poultry" /> <CheckBoxPreference
Versi 1.0 Created by Meruvian Education 4
android:title="Lamb" android:summary="Lamb is a young sheep" /> </PreferenceScreen> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="Vegetables" android:summary="Preferences related to vegetable"> <CheckBoxPreference android:title="Tomato " android:summary="It's actually a fruit" /> <CheckBoxPreference android:title="Potato" android:summary="My favorite vegetable" /> </PreferenceScreen></PreferenceScreen>
package android.preference;
import android.os.Bundle;
public class OrganizingPref extends PreferenceActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.layout.organizing); }}
Versi 1.0 Created by Meruvian Education 5
Gambar diatas menunjukkan Preference yang berisi 2 kategori yaitu kategori “meets” dan “vegetables”
Versi 1.0 Created by Meruvian Education 6
5. 4. Ringtone
RingtonePreference secara spesifik dengan nada dering. Anda akan menggunakannya dalam aplikasi
yang memberikan pengguna opsi untuk memilih nada dering sebagai preferensi.
<?xml version="1.0" encoding="utf-8"?><PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:title="My Preferences" android:summary="Set Flight Option Preferences"> <RingtonePreference android:title="Set Ringtone Preference" android:showSilent="true" android:ringtoneType="alarm" android:summary="Set Ringtone" /></PreferenceScreen>
package android.preference;
import android.os.Bundle;
public class RingtonePref extends PreferenceActivity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); addPreferencesFromResource(R.layout.main); }}
Versi 1.0 Created by Meruvian Education 7
Ketika pengguna memilih “Set Ringtone Preference” maka akan tampil ListPreference berisi berisi
ringtone. Pengguna kemudian dapat memilih nada dering lalu pilih OK atau Batal.
Versi 1.0 Created by Meruvian Education 8
5. 5. Menu
Seperti aplikasi untuk desktop dan beberapa sistem operasi mobile, seperti Palm OS dan
Windows Mobile, Android juga mendukung kegiatan dengan aplikasi menu.
Ikuti langkah – langkah berikut untuk membuat menu sederhana :
1. Buat layout file XML yang berisi tampilan teks
2. Buat kelas Activity di file java
3. Atur menu
4. Tambahkan beberapa item menu reguler ke menu.
5. Merespon menu item
6. Menambah dan menghapus text
1. Membuat sebuah XML Layout
Langkah 1 adalah membuat file XML Layout sederhana dengan tampilan teks di dalamnya (lihat Listing 1.1) di
res / layout main.xml . File xml ini akan di load ke Activity saat startup.
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" ><TextView android:id="@+id/textViewId" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Phone Menus" /></LinearLayout>
2. Membuat sebuah file Activity
package android.simpleMenus;
import android.app.Activity;import android.os.Bundle;
public class SimpleMenus extends Activity {
// Initialize this in onCreateOptionsMenu myMenu = null;
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
Versi 1.0 Created by Meruvian Education 9
// untuk memanggil layout yang ada di main.xml setContentView(R.layout.main); }
}
3. Setting MenuSetelah membuat View dan Activity, sekarang kita akan men-setting program untuk menu nya
@Override public boolean onCreateOptionsMenu(Menu menu) { //call the parent to attach any system level menus super.onCreateOptionsMenu(menu);
this.myMenu = menu;
//add a few normal menus addRegularMenuItems(menu);
//it must return true to show the menu //if it is false menu won't show return true; }
4. Menambah Menu ItemUntuk menambah item menu, lihat kode dibawah ini :
// Adding Menu Items private void addRegularMenuItems(Menu menu){
int base=Menu.FIRST; // value is 1 MenuItem contact = menu.add(base,base,base,"Contact"); contact.setIcon(R.drawable.phone_book); MenuItem message = menu.add(base,base+1,base+1,"Message"); message.setIcon(R.drawable.sms2); MenuItem clear = menu.add(base,base+2,base+2,"Clear"); clear.setIcon(R.drawable.eraser); MenuItem music = menu.add(base,base+3,base+3,"Music"); music.setIcon(R.drawable.tone); MenuItem internet = menu.add(base,base+4,base+4,"Internet"); internet.setIcon(R.drawable.moziila); MenuItem camera = menu.add(base,base+5,base+5,"Camera"); camera.setIcon(R.drawable.kamera2); MenuItem galery = menu.add(base,base+6,base+6,"Galery"); galery.setIcon(R.drawable.galery3); MenuItem game = menu.add(base,base+7,base+7,"Game");
Versi 1.0 Created by Meruvian Education 10
game.setIcon(R.drawable.game2); MenuItem video = menu.add(base,base+8,base+8,"Video"); video.setIcon(R.drawable.handycam); MenuItem setting = menu.add(base,base+9,base+9,"Setting"); setting.setIcon(R.drawable.setting); }
Menu kelas mendefinisikan beberapa kostanta, salah satunya adalah Menu.FIRST
MenuItem contact = menu.add(base,base,base,"Contact"); contact.setIcon(R.drawable.phone_book);
Kode diatas untuk menambahkan item di menu beserta iconnya. Untuk menambahkan icon untuk menu caranya
tinggal copy gambar ke res / drawable. Kemudian buat kode nya seperti diatas.
5. Merespon Menu ItemSetelah men-setup menu, kita lanjutkan ke langkah 5. Ketika sebuah item menu di klik maka Android
akan memanggil method onOptionsItemSelected() dari kelas Activity dan kemudian menggunakan method
getItemId() pada MenuItem untuk menangkap text yang dimasukkan.
// Responding to Menu -> item clicks@Overridepublic boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == 1) { appendText("\nContact"); item.setIcon(R.drawable.phone_book); } else if (item.getItemId() == 2) {
appendText("\nMessage"); item.setIcon(R.drawable.sms2); } else if (item.getItemId() == 3) { emptyText(); item.setIcon(R.drawable.eraser); } else if (item.getItemId() == 4) { appendText("\nTone"); item.setIcon(R.drawable.tone); } else if (item.getItemId() == 5) { appendText("\nMoziila");
Versi 1.0 Created by Meruvian Education 11
item.setIcon(R.drawable.setting); } else if (item.getItemId() == 6) { appendText("\nCamera"); item.setIcon(R.drawable.kamera2); } else if (item.getItemId() == 7) { appendText("\nGalery"); item.setIcon(R.drawable.galery3); } else if (item.getItemId() == 8) { appendText("\nGame"); item.setIcon(R.drawable.game2); } else if (item.getItemId() == 9) {
appendText("\nVideo"); item.setIcon(R.drawable.handycam);
} else if(item.getItemId() == 10) { appendText("\nSetting"); item.setIcon(R.drawable.setting); } return true;}
6. Menambah dan Menghapus text
//Given a string of text append it to the TextViewprivate void appendText(String text) { TextView tv = (TextView)this.findViewById(R.id.textViewId); tv.setText(tv.getText() + text);}
//Empty the TextView of its contentsprivate void emptyText() { TextView tv = (TextView)this.findViewById(R.id.textViewId); tv.setText("");}}
Kode diatas untuk menambah atau mengapus text menu.
Versi 1.0 Created by Meruvian Education 12
Setelah di run, hasilnya seperti gambar dibawah ini
Prompt Dialog
yaitu dialog yang muncul dengan sebuah kotak isian atau edit text.
Buat kotak dialog isiannya di main.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:stretchColumns="0" android:layout_height="fill_parent" android:layout_width="wrap_content">
<TableRow> <TextView android:text="Type text here" /> </TableRow>
<TableRow> <EditText android:textSize="16px" /> </TableRow> <TableRow> <Button android:id="@+id/buttonOK" android:text="OK" /> <Button android:id="@+id/buttonCancel" android:text="Cancel" /> </TableRow>
</TableLayout>
untuk menampilkan prompt dialog, perhatikan kode dibawah ini :
Dialog dialog = new Dialog(this);
Versi 1.0 Created by Meruvian Education 13
dialog.setContentView(R.layout.main); dialog.setTitle("Prompt Dialog"); dialog.show();
Penjelasan :
Dialog prompt = new Dialog(this);
- membuat object prompt dari android dialog app
prompt.setContentView(R.layout.main);- memanggil file dari xml atau main.xml
prompt.setTitle("Prompt Dialog");- Statement yang akan ditampilkan di prompt dialog
dialog.show();- perintah untuk menampilkan prompt dialog di emulator
Dialog with Checkbox
yaitu dialog yang muncul bersama dengan checkbox. Langkah pembuatannya sama dengan prompt
dialog.
Versi 1.0 Created by Meruvian Education 14
<?xml version="1.0" encoding="utf-8"?><TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:stretchColumns="0" android:layout_height="wrap_content" android:layout_width="wrap_content">
<TableRow> <TextView android:textColor="#ffffff" android:text="Android:" android:textSize="16px" android:layout_marginLeft="6dip" android:layout_gravity="center_vertical" /> <CheckBox android:id="@+id/checkboxAndroid" android:layout_gravity="right|top" /> </TableRow>
<TableRow> <TextView android:textColor="#ffffff" android:text="Blacberry:" android:textSize="16px" android:layout_marginLeft="6dip" android:layout_gravity="center_vertical" /> <CheckBox android:id="@+id/checkboxBlackberry" android:layout_gravity="right|top" /> </TableRow>
<TableRow android:layout_marginTop="230px"> <Button android:id="@+id/buttonOK" android:text="ok" android:layout_height="wrap_content" android:layout_width="wrap_content" /> </TableRow></TableLayout>
Versi 1.0 Created by Meruvian Education 15
Mengubah Skin Android Emulator
Untuk mengubah skin emulator di android, download dulu skin emulator yang ada di internet, di sini saya contohkan satu alamat web yang menyediakan custom android skin emulator. http://teavuihuang.com/android/
Selanjutnya tinggal exstrak di folder {Android SDK}\tools\lib\images\skins
Kemudian setting di SDKnya, klik tombol new Kemudian di bagian Build-in pilih nama skin yang tadi telah di instal
Versi 1.0 Created by Meruvian Education 16