Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat...

26
BAB 5 More Views Pemrograman Perangkat Mobile Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer Universitas Brawijaya Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat Mobile Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom

Transcript of Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat...

Page 1: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

BAB 5 – More Views Pemrograman Perangkat Mobile

Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Universitas Brawijaya

Modul Bahan Ajar UBDistanceLearning

Pemrograman Perangkat Mobile Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom

Page 2: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

PemrogramanPerangkat Mobile - BAB 5 – More Views

Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan widget-widget/view-view yang sederhana.

Padababiniakandijelaskanlebihlanjutmengenai view-view yang lebihkompleks.

TujuanInstruksionalKhusus

Perancanganmodulpadababinibertujuan agar mahasiswamampu :

1. Memahamijenis-jenis view yang lain. 2. Membuataplikasimenggunakan view.

DaftarMateri

1. PENGENALAN

1.1 Widgets/View

1.2 JenisView

2. MORE VIEWS

2.1 Project 1 : TimePickerView

2.2 Project 2 : DatePickerView

2.3 Project 3 : GalleryView

2.4 Project 4 : ImageSwitcherView

2.5 Project 5 : Analog/Digital Clock

2.6 Project 6 : Context/Option Menu

3. SOAL DAN PROJECT

Page 3: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

1. PENGENALAN 1.1 Widgets/View

Android Widgets merupakan komponen-komponen yang disediakan Android SDK untuk membangun user interface pada aplikasi Android.

1.2 JenisView

Android Widgets merupakan komponen-komponen yang disediakan Android SDK untuk membangun user interface pada aplikasi Android. Jenis View TimePicker view

View untukmenampilkandanmensettingwaktu (jam, menit, detik) DatePicker view

View untukmenampilkandanmensettingtanggal (hari, bulan, tahun) Gallery view

View untukmenampilkangambardalambentukgaleri. ImageSwitcher view

View untukmenampilkangambardalambentuk slide show.

Context Menu View untukmenampilkan menu dengan touch input.

Options Menu

View untukmenampilkan menu denganmenekantombol di smartphone. AnalogClock

View untukmenampilkan jam analog. DigitalClock

View untukmenampilkan jam digital.

2. MORE VIEWS 2.1 Project 1 : TimePicker View

Pada program inikitaakanmerancangaplikasi Android yang memperbolehkan user untukseleksiwaktudalamsehariyaitu 24 jam (pm/am). Buat project android dengan ketentuan sebagai berikut :

Project name : TimePickerView Build Target : Android 2.1-update1 Application Name : timepicker Package name : id.ac.ub.pttik.timepicker Activity : TimePickerActivity Min SDK : 7

Page 4: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

TimePickerActivity.java

packageid.ac.ub.pttik.timepicker;

importandroid.app.Activity;

importandroid.os.Bundle;

publicclassTimePickerActivityextends Activity

{

@Override

protectedvoidonCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.timepicker);

}

}

timepicker.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TimePickerandroid:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>

Apabila aplikasi timepicker dijalankan, tampilannya sepertipadaGambar 2.1.

Page 5: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Gambar 2.1 Tampilan Project 1 : TimePickerView.

Click tombol tambah atau kurang dan perhatikan bahwa nilai jam atau menit otomatis akan berubah.

TimePicker sebenarnya dapat ditampilkan dalam bentuk dialog box seperti kode

TimePickerActivity.java yang telah dimodifikasi berikut ini :

TimePickerActivity.java (modifikasi)

packageid.ac.ub.pttik.timepicker;

importandroid.app.Activity;

importandroid.app.Dialog;

importandroid.app.TimePickerDialog;

importandroid.os.Bundle;

importandroid.widget.TimePicker;

importandroid.widget.Toast;

publicclassTimePickerActivityextends Activity {

inthour, minute;

staticfinalintTIME_DIALOG_ID = 0;

Page 6: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

@Override

protectedvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.datetimepicker);

showDialog(TIME_DIALOG_ID);

}

@Override

protected Dialog onCreateDialog(int id) {

switch (id) {

caseTIME_DIALOG_ID:

returnnewTimePickerDialog(this, mTimeSetListener, hour, minute,

false);

}

returnnull;

}

privateTimePickerDialog.OnTimeSetListenermTimeSetListener =

newTimePickerDialog.OnTimeSetListener() {

publicvoidonTimeSet(TimePicker view, inthourOfDay, intminuteOfHour) {

hour = hourOfDay;

minute = minuteOfHour;

Toast.makeText(getBaseContext(),

"You have selected : " + hour + ":" + minute,

Toast.LENGTH_SHORT).show();

}

};

}

Running project ulangsehinggaakanmenghasilkansepertipadaGambar 2.2.

Page 7: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Gambar 2.2 Tampilan Project 1 : TimePickerView yang telah dimodifikasi.

2.2 Project 2 : DatePicker View

Pada program inikitaakanmerancangaplikasi Android yang memperbolehkan user untukmelakukanseleksitanggal, bulan, dantahun. Buat project android dengan ketentuan sebagai berikut :

Project name : DatePickerView Build Target : Android 2.1-update1 Application Name : datepicker Package name : id.ac.ub.pttik.datepicker Activity : DatePickerActivity Min SDK : 7

DatePickerActivity.java

packageid.ac.ub.pttik.datepicker

importandroid.app.Activity;

importandroid.os.Bundle;

publicclassDatePickerActivityextends Activity {

/** Called when the activity is first created. */

Page 8: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

@Override

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.datepicker);

}

}

datepicker.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<DatePickerandroid:layout_width="wrap_content"

android:layout_height="wrap_content"/>

</LinearLayout>

Apabila aplikasi datepickerdijalankan, tampilannya sepertipadaGambar 2.3.

Gambar 2.3 Tampilan Project 2 : DatePickerView.

Page 9: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

2.3 Project 3 : GalleryView

Pada program inikitaakanmerancangaplikasi Android yang menampilkan item-item dalambentuk image. Buat project android dengan ketentuan sebagai berikut :

Project name : GalleryView Build Target : Android 2.1-update1 Application Name : gallery Package name : id.ac.ub.pttik.gallery Activity : GalleryActivity Min SDK : 7

Sebelumandatuliskode program berikutsalin file bandung1.jpg, bandung2.jpg, bandung3.jpg, bandung4.jpg, bandung5.jpg, bandung6.jpg, bandung7.jpg kedalamdirektorires/drawable.

GalleryActivity.java

packageid.ac.ub.pttik.gallery;

importandroid.app.Activity;

importandroid.content.Context;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.widget.AdapterView;

importandroid.widget.AdapterView.OnItemClickListener;

importandroid.widget.BaseAdapter;

importandroid.widget.Gallery;

importandroid.widget.ImageView;

importandroid.widget.Toast;

publicclassGalleryActivityextends Activity

{

//---the images to display---

Integer[] imageIDs = {

R.drawable.bandung1,

Page 10: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

R.drawable.bandung2,

R.drawable.bandung3,

R.drawable.bandung4,

R.drawable.bandung5,

R.drawable.bandung6,

R.drawable.bandung7,

};

@Override

publicvoidonCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.displayview);

Gallery gallery = (Gallery) findViewById(R.id.gallery1);

gallery.setAdapter(newImageAdapter(this));

gallery.setOnItemClickListener(newOnItemClickListener()

{

publicvoidonItemClick(AdapterView parent,

View v, int position, long id)

{

Toast.makeText(getBaseContext(),

"pic" + (position + 1) + " selected",

Toast.LENGTH_SHORT).show();

}

});

}

publicclassImageAdapterextendsBaseAdapter

{

Page 11: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

private Context context;

privateintitemBackground;

publicImageAdapter(Context c)

{

context = c;

//---setting the style---

}

//---returns the number of images---

publicintgetCount() {

returnimageIDs.length;

}

//---returns the ID of an item---

public Object getItem(int position) {

return position;

}

publiclonggetItemId(int position) {

return position;

}

//---returns an ImageView view---

public View getView(int position, View convertView, ViewGroup parent) {

ImageViewimageView = newImageView(context);

imageView.setImageResource(imageIDs[position]);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

imageView.setLayoutParams(newGallery.LayoutParams(150, 120));

imageView.setBackgroundResource(itemBackground);

returnimageView;

}

}

Page 12: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

}

displayview.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<TextViewandroid:layout_width="fill_parent"

android:layout_height="wrap_content"android:text="Images Kota Bandung"/>

<Galleryandroid:id="@+id/gallery1"android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

<ImageViewandroid:id="@+id/image1"android:layout_width="320px"

android:layout_height="250px"android:scaleType="fitXY"/>

</LinearLayout>

Apabila aplikasi galleryview dijalankan, tampilannyasepertipadaGambar 2.4.

Gambar 2.4 Tampilan Project 3 : GalleryView.

Page 13: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Ubahprosedur yang beradadalam method onItemClick()untuk image yang dipilihkedalamImageViewmenjadisepertiberikut :

onItemClick()

publicvoidonItemClick(AdapterView parent,

View v, int position, long id)

{

ImageViewimageView = (ImageView) findViewById(R.id.image1);

imageView.setImageResource(imageIDs[position]);

}

Running project ulangsehinggaakanmenghasilkantampilansepertipadaGambar 2.5.

Gambar 2.5 Tampilan Project 3 : GalleryView yang telah dimodifikasi.

Page 14: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

2.4 Project 4 : ImageSwitcher View

Pada program inikitaakanmerancangaplikasi Android yang menampilkangambarkotaBandung menggunakanImageSwitcher View. Buat project android dengan ketentuan sebagai berikut :

Project name : ImageSwitcherView Build Target : Android 2.1-update1 Application Name : imageswitcher Package name : id.ac.ub.pttik.imageswitcher Activity : ImageSwitcherActivity Min SDK : 7

Sebelumandatuliskode program berikutsalin file bandung1.jpg, bandung2.jpg, bandung3.jpg, bandung4.jpg, bandung5.jpg, bandung6.jpg, bandung7.jpg kedalamdirektori res/drawable

ImageSwitcherActivity.java

packageid.ac.ub.pttik.imageswitcher;

importandroid.app.Activity;

importandroid.content.Context;

importandroid.os.Bundle;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.view.animation.AnimationUtils;

importandroid.widget.AdapterView;

importandroid.widget.AdapterView.OnItemClickListener;

importandroid.widget.BaseAdapter;

importandroid.widget.Gallery;

importandroid.widget.Gallery.LayoutParams;

importandroid.widget.ImageSwitcher;

importandroid.widget.ImageView;

importandroid.widget.ViewSwitcher.ViewFactory;

publicclassImageSwitcherActivityextends Activity implementsViewFactory

{

//---the images to display---

Page 15: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Integer[] imageIDs = {

R.drawable.bandung1,

R.drawable.bandung2,

R.drawable.bandung3,

R.drawable.bandung4,

R.drawable.bandung5,

R.drawable.bandung6,

R.drawable.bandung7

};

privateImageSwitcherimageSwitcher;

@Override

publicvoidonCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.displayview);

imageSwitcher = (ImageSwitcher) findViewById(R.id.switcher1);

imageSwitcher.setFactory(this);

imageSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,

android.R.anim.fade_in));

imageSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,

android.R.anim.fade_out));

Gallery gallery = (Gallery) findViewById(R.id.gallery1);

gallery.setAdapter(newImageAdapter(this));

gallery.setOnItemClickListener(newOnItemClickListener()

{

publicvoidonItemClick(AdapterView parent,

Page 16: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

View v, int position, long id)

{

imageSwitcher.setImageResource(imageIDs[position]);

}

});

}

public View makeView()

{

ImageViewimageView = newImageView(this);

imageView.setBackgroundColor(0xFF000000);

imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);

imageView.setLayoutParams(new

ImageSwitcher.LayoutParams(

LayoutParams.FILL_PARENT,

LayoutParams.FILL_PARENT));

returnimageView;

}

publicclassImageAdapterextendsBaseAdapter

{

private Context context;

privateintitemBackground;

publicImageAdapter(Context c)

{

context = c;

}

//---returns the number of images---

publicintgetCount()

Page 17: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

{

returnimageIDs.length;

}

//---returns the ID of an item---

public Object getItem(int position)

{

return position;

}

publiclonggetItemId(int position)

{

return position;

}

//---returns an ImageView view---

public View getView(int position, View convertView, ViewGroup parent)

{

ImageViewimageView = newImageView(context);

imageView.setImageResource(imageIDs[position]);

imageView.setScaleType(ImageView.ScaleType.FIT_XY);

imageView.setLayoutParams(newGallery.LayoutParams(150, 120));

imageView.setBackgroundResource(itemBackground);

returnimageView;

}

}

}

displayview.xml

<?xmlversion="1.0"encoding="utf-8"?>

<RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android"

Page 18: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent"android:background="#ff000000">

<ImageSwitcherandroid:id="@+id/switcher1"

android:layout_width="fill_parent"android:layout_height="fill_parent"

android:layout_alignParentLeft="true"android:layout_alignParentRight="true"

android:layout_alignParentBottom="true"/>

<Galleryandroid:id="@+id/gallery1"android:layout_width="fill_parent"

android:layout_height="wrap_content"/>

</RelativeLayout>

string.xml

<?xmlversion="1.0"encoding="utf-8"?>

<resources>

<stringname="hello">Hello World, gallery!</string>

<stringname="app_name">ImageSwitcher</string>

</resources>

Apabila aplikasi imageswitcher dijalankan, tampilannya sepertipadaGambar 2.6.

Gambar 2.6 Tampilan Project 4 : ImageSwitcher.

Page 19: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

2.5 Project 5 : Analog/Digital Clock

Pada program inikitaakanmerancangaplikasi Android yang menampilkan jam analog dan digital. Buat project android dengan ketentuan sebagai berikut :

Project name : AnalogDigitalClock Build Target : Android 2.1-update1 Application Name : analogdigital Package name : id.ac.ub.pttik.analogdigital Activity : AnalogDigitalActivity Min SDK : 7

analogdigital.java

packageid.ac.ub.pttik.analogdigital;

importandroid.app.Activity;

importandroid.os.Bundle;

publicclassAnalogDigitalActivityextends Activity {

/** Called when the activity is first created. */

@Override

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

}

main.xml

main.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

android:layout_height="fill_parent">

<AnalogClockandroid:id="@+id/clock1"android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

<DigitalClockandroid:id="@+id/clock2"

Page 20: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

android:layout_width="wrap_content"android:layout_height="wrap_content"/>

</LinearLayout>

Apabila aplikasi analogdigital dijalankan, tampilannya sepertipadaGambar 2.7.

Gambar 2.7 Tampilan Project 5 : Analog/Digital Clock.

2.6 Project 6 : Context/Option Menu

Pada program inikitaakanmerancangaplikasi Android yang menggunakan Context Menu dan Options Menu. Context Menu merupakan menu yang dipilihdenganmenekan touch-screen.Sedangkan Options Menu merupakan menu yang dipilihdenganmenekantombol Menu yang adapada Smartphone atau Tablet. Buat project android dengan ketentuan sebagai berikut :

Project name : MenuLayout Build Target : Android 2.1-update1 Application Name : menulayout Package name : id.ac.ub.pttik.menulayout Activity : MenuLayoutActivity Min SDK : 7

MenuLayoutActivity.java

packageid.ac.ub.pttik.menulayout;

Page 21: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

importandroid.app.Activity;

importandroid.os.Bundle;

importandroid.view.Menu;

importandroid.view.MenuItem;

importandroid.widget.Button;

importandroid.widget.Toast;

publicclassMenuLayoutActivityextends Activity {

@Override

publicvoidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.menu);

Button btn = (Button) findViewById(R.id.btn1);

btn.setOnCreateContextMenuListener(this);

}

privatevoidCreateMenu(Menu menu) {

menu.setQwertyMode(true);

MenuItem mnu1 = menu.add(0, 0, 0, "Item 1");

{

mnu1.setAlphabeticShortcut('a');

mnu1.setIcon(R.drawable.icon);

}

MenuItem mnu2 = menu.add(0, 1, 1, "Item 2");

{

mnu2.setAlphabeticShortcut('b');

mnu2.setIcon(R.drawable.icon);

}

MenuItem mnu3 = menu.add(0, 2, 2, "Item 3");

{

mnu3.setAlphabeticShortcut('c');

Page 22: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

mnu3.setIcon(R.drawable.next);

}

MenuItem mnu4 = menu.add(0, 3, 3, "Item 4");

{

mnu4.setAlphabeticShortcut('d');

}

menu.add(0, 3, 3, "Item 5");

menu.add(0, 3, 3, "Item 6");

menu.add(0, 3, 3, "Item 7");

}

privatebooleanMenuChoice(MenuItem item) {

switch (item.getItemId()) {

case 0:

Toast.makeText(this, "You clicked on Item 1", Toast.LENGTH_LONG)

.show();

returntrue;

case 1:

Toast.makeText(this, "You clicked on Item 2", Toast.LENGTH_LONG)

.show();

returntrue;

case 2:

Toast.makeText(this, "You clicked on Item 3", Toast.LENGTH_LONG)

.show();

returntrue;

case 3:

Toast.makeText(this, "You clicked on Item 4", Toast.LENGTH_LONG)

.show();

returntrue;

case 4:

Toast.makeText(this, "You clicked on Item 5", Toast.LENGTH_LONG)

Page 23: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

.show();

returntrue;

case 5:

Toast.makeText(this, "You clicked on Item 6", Toast.LENGTH_LONG)

.show();

returntrue;

case 6:

Toast.makeText(this, "You clicked on Item 7", Toast.LENGTH_LONG)

.show();

returntrue;

}

returnfalse;

}

@Override

publicbooleanonCreateOptionsMenu(Menu menu) {

super.onCreateOptionsMenu(menu);

CreateMenu(menu);

returntrue;

}

@Override

publicbooleanonOptionsItemSelected(MenuItem item) {

returnMenuChoice(item);

}

}

menu.xml

<?xmlversion="1.0"encoding="utf-8"?>

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"android:layout_width="fill_parent"

Page 24: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

android:layout_height="fill_parent">

<Buttonandroid:id="@+id/btn1"android:layout_width="fill_parent"

android:layout_height="wrap_content"android:text="Hello, Tampilan Menu!"/>

</LinearLayout>

Apabila aplikasi menulayout dijalankan, tampilannya sepertipadaGambar 2.8.

Gambar 2.8 Tampilan Menu Layout.

Apabilakitamenekantombol MENU, tampilannyasepertipadaGambar 2.9.

Page 25: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

Gambar 2.8 Tampilan MenuLayout Ketika Ditekan Tombol Menu.

Apabilakitamenekanpilihan menu MORE, tampilannyasepertipadaGambar 2.9.

Gambar 2.9 Tampilan MenuLayout Ketika Ditekan Tombol MORE.

Page 26: Modul Bahan Ajar UBDistanceLearning Pemrograman Perangkat ...blog.ub.ac.id/insanilah/files/2014/01/05_More_Views.pdfPemrogramanPerangkat Mobile - BAB 5 – More Views Pendahuluan Padababsebelumnyatelahdijelaskanbeberapapenggunaan

Pemrograman Perangkat Mobile- BAB 5 – More Views

Eriq Muhammad Adams J, ST., M.Kom; Widhy Hayuhardhika, S.Kom - Teknik Informatika-Program Teknologi Informasi dan Ilmu Komputer

3. SOALDAN PROJECT

Soal

1. Jelaskanapa yang dimaksuddenganView !

2. SebutkandanJelaskanmacam-macam view di Android !

Project

Buatlahsebuahaplikasisederhana yang menampilkangambar-gambarbendera Negara

dalamsebuahgaleriview !

REFERENSI

Yudhi ,Wibisono .2011. Pengantar Mobile Programming dengan Android, UPI.

Safaat, H. Nazruddin. 2011. ANDROID PemrogramanAplikasi Mobile Smartphone dan Tablet PC

Berbasis Android, PenerbitInformatika.