android bab5 preferences

16
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

Upload: bieking

Post on 11-Nov-2014

77 views

Category:

Documents


7 download

DESCRIPTION

android

TRANSCRIPT

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