Anda di halaman 1dari 30

LAPORAN PRAKTIKUM

PEMROGRAMAN APLIKASI MOBILE


JOB 4 EVENT HANDLING

Disusun oleh :
Nama : Danang Istoe Nugroho
NIM : 3.34.12.0.06

PROGAM STUDI TEKNIK INFORMATIKA


JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
2014/2015
Event Handling

I.

Tujuan Instruksional Khusus


Setelah melakukan praktikum ini mahasiswa diharapkan dapat :
1. Mengetahui dan mengenal semua jenis layout standar aplikasi android
2. Mengimplementasikan layout ke aplikasi sederhana android menggunakan
aplikasi Android Studio.
3. Mengetahui berbagai jenis handling yang dapat dilakukan android beserta konsep
dasat dari penggunaannya.
4. Mengimplementasikan handling pada aplikasi sederhana android menggunakan
aplikasi Android Studio.

II.

Dasar Teori
Apa itu Android?
Android merupakan open source dan berbasis Sistem Operasi Linux untuk perangkat
mobile seperti smartphone dan komputer tablet. Android dikembangkan oleh Open
Handset Alliance, yang dipimpin oleh Google, dan perusahaan lain. Android
menawarkan pendekatan terpadu untuk pengembangan aplikasi untuk perangkat
mobile yang berarti pengembang hanya perlu mengembangkan untuk Android, dan
aplikasi mereka harus mampu berjalan pada perangkat yang berbeda didukung oleh
Android.
Versi beta pertama dari Android Software Development Kit (SDK) dirilis oleh Google
pada tahun 2007 di mana sebagai versi komersial pertama, Android 1.0, dirilis pada
bulan September 2008.
Pada tanggal 27 Juni 2012, di / O konferensi Google I, Google mengumumkan versi
Android berikutnya, 4.1 Jelly Bean. Jelly Bean adalah update inkremental, dengan
tujuan utama meningkatkan antarmuka pengguna, baik dari segi fungsi dan kinerja.
Kode sumber untuk Android tersedia di bawah lisensi perangkat lunak bebas dan open
source. Google menerbitkan sebagian besar kode di bawah Apache License versi 2.0
dan sisanya, perubahan kernel Linux, di bawah versi GNU General Public License 2.
Fitur Android
Android adalah sistem operasi yang kuat bersaing dengan Apple 4GS dan mendukung
fitur yang besar. Beberapa dari mereka tercantum di bawah ini:
Fitur
UI

yang

Keterangan
Android OS layar dasar menyediakan antarmuka pengguna

indah
Konektivitas

yang indah dan intuitif.


GSM / EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth,

Penyimpanan

Wi-Fi, LTE, NFC dan WiMAX


SQLite, database relasional ringan, digunakan untuk tujuan

Dukungan

penyimpanan data.
H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-

media

AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG,

Messaging
Web browser

GIF, BMP
SMS dan MMS
Berdasarkan open source WebKit layout engine, ditambah
dengan mesin V8 JavaScript Chrome mendukung HTML5

Multi-touch

dan CSS3.
Android memiliki dukungan asli untuk multi-touch yang

Multi-tasking

awalnya dibuat tersedia dalam handset seperti HTC Hero.


Pengguna dapat melompat dari satu tugas ke yang lain dan
waktu yang sama berbagai aplikasi dapat berjalan secara

Widget

bersamaan.
Widget adalah

resizable

memperluas mereka untuk menunjukkan lebih banyak konten

Multi-Bahasa
GCM

atau mengecilkan mereka untuk menghemat ruang


Mendukung satu arah dan teks bi-directional.
Google Cloud Messaging (GCM) adalah layanan yang

resizable,

sehingga

pengguna

dapat

memungkinkan pengembang mengirim data pesan singkat


kepada pengguna mereka pada perangkat Android, tanpa
Wi-Fi Direct

perlu solusi sync proprietary.


Sebuah teknologi yang memungkinkan aplikasi menemukan
dan pasangan secara langsung, melalui bandwidth tinggi

Android

peer-to-peer koneksi.
Sebuah teknologi berbasis NFC populer yang memungkinkan

Beam

pengguna langsung berbagi, hanya dengan menyentuh dua


ponsel NFC-enabled bersama-sama.

Aplikasi Android
Aplikasi Android biasanya dikembangkan dalam bahasa Java dengan menggunakan
Android SDK. Setelah dikembangkan, aplikasi Android dapat dikemas dengan mudah
dan dijual keluar baik melalui toko seperti Google Play atau Amazon Appstore.
Kekuatan Android ratusan juta perangkat mobile di lebih dari 190 negara di seluruh
dunia. Ini adalah dasar terinstal terbesar dari platform mobile dan tumbuh cepat.
Setiap hari lebih dari 1 juta perangkat Android baru diaktifkan di seluruh dunia.
Arsitektur
Sistem operasi Android adalah tumpukan komponen software yang dibagi menjadi
lima bagian dan empat lapisan utama seperti yang ditunjukkan di bawah ini dalam
diagram arsitektur.

Linux Kernel
Di bagian bawah lapisan adalah Linux - Linux 2.6 dengan sekitar 115 patch. Ini
menyediakan sistem fungsi dasar seperti manajemen proses, manajemen memori,
manajemen perangkat seperti kamera, keypad, layar dll Juga, kernel menangani
semua hal yang Linux benar-benar baik di seperti jaringan dan array yang luas dari
driver perangkat, yang mengambil nyeri dari interfacing dengan hardware perifer.
Libraries
Di atas kernel Linux ada satu set perpustakaan termasuk open-source WebKit browser
Web mesin, libc perpustakaan terkenal, basis data SQLite yang merupakan repositori
yang berguna untuk penyimpanan dan berbagi data aplikasi, perpustakaan untuk
bermain dan merekam audio dan video, SSL perpustakaan yang bertanggung jawab
untuk keamanan internet dll
Android Runtime
Ini adalah bagian ketiga dari arsitektur dan tersedia pada lapisan kedua dari bawah.
Bagian ini menyediakan komponen kunci yang disebut Dalvik Virtual Machine yang
merupakan jenis Java Virtual Machine yang dirancang khusus dan dioptimalkan untuk
Android. Dalvik VM memanfaatkan fitur inti Linux seperti manajemen memori dan
multi-threading, yang intrinsik dalam bahasa Java. Dalvik VM memungkinkan setiap
aplikasi Android untuk berjalan dalam prosesnya sendiri, dengan contoh sendiri dari
mesin virtual Dalvik. Runtime Android juga menyediakan satu set inti perpustakaan
yang memungkinkan pengembang aplikasi Android untuk menulis aplikasi Android
menggunakan standar bahasa pemrograman Java.
Application Framework

Lapisan Application Framework menyediakan berbagai layanan tingkat tinggi untuk


aplikasi dalam bentuk kelas Java. Pengembang aplikasi yang diizinkan untuk
menggunakan layanan ini dalam aplikasi mereka.
Aplikasi
Anda akan menemukan semua aplikasi Android di lapisan atas. Anda akan menulis
aplikasi yang akan diinstal pada lapisan ini saja. Contoh aplikasi tersebut Kontak
Buku, Browser, Game dll
EVENT HANDLING
Events adalah cara yang sangat berguna untuk mendapatkan data dari interaksi
pengguna dengan komponen interaktif dari aplikasi, seperti tekanan pada tombol atau
pada layar dan lainnya. Android Framework Maintains adalah antrian kejadian yang
mana disimpan sebagai setiap kejadian dihapus dari antrian pada first-in, first-out
(FIFO). Anda bisa menangkap kejadian tersebut pada program anda dan
menanganinya sesuai kebutuhan.
Berikut ini adalah tiga konsep yang berhubungan dengan Android Event
Management:
1. Event Listeners : Kelas View yang terlibat dalam membangun GUI Android, sama
View kelas menyediakan sejumlah Pendengar Event. Event Listener adalah objek
yang menerima pemberitahuan bila acara happes.
2. Event Listeners Registrations : Event Registrations adalah proses dimana sebuah Event
Handler akan terdaftar Event Listener sehingga handler dipanggil saat Event Listener
kebakaran acara tersebut.
3. Event Handlers : Ketika suatu event terjadi dan kami telah terdaftar dan event listener
untuk event, event listener memanggil Event Handler, yang merupakan metode yang
benar-benar menangani event tersebut.
Event Listeners & Event Handlers
Event Handler
onClick()

Event Listener & Description


OnClickListener()
This is called when the user either clicks or
touches or focuses upon any widget like button,
text, image etc. You will use onClick() event

onLongClick()

handler to handle such event.


OnLongClickListener()
This is called when the user either clicks or
touches or focuses upon any widget like button,
text, image etc. for one or more seconds. You will

use onLongClick() event handler to handle such


onFocusChange()

event.
OnFocusChangeListener()
This is called when the widget looses its focus ie.
user goes away from the view item. You will use
onFocusChange() event handler to handle such

onKey()

event.
OnFocusChangeListener()
This is called when the user is focused on the item
and presses or releases a hardware key on the
device. You will use onKey() event handler to

onTouch()

handle such event.


OnTouchListener()
This is called when the user presses the key,
releases the key, or any movement gesture on the
screen. You will use onTouch() event handler to

onMenuItemClick()

handle such event.


OnMenuItemClickListener()
This is called when the user selects a menu item.
You will use onMenuItemClick() event handler to
handle such event.

UI LAYOUTS
View adalah kelas dasar untuk widget, yang digunakan untuk membuat komponen
UI interaktif seperti tombol, text field, dll. ViewGroup adalah subclass dari View dan
menyediakan wadah tak terlihat yang terus Views lain atau ViewGroups lain dan
menentukan tata letak sifat mereka.
Pada tingkat ketiga kita memiliki layout yang berbeda yang subclass dari kelas
ViewGroup dan tata letak yang khas mendefinisikan struktur visual untuk antarmuka
pengguna Android dan dapat dibuat baik pada waktu berjalan dengan menggunakan
benda-benda View / ViewGroup atau Anda dapat menyatakan tata letak Anda
menggunakan file XML sederhana main_layout xml yang terletak di res / layout folder
dari proyek Anda. GUI berdasarkan layout didefinisikan dalam file XML. Tata letak
mungkin berisi jenis widget seperti tombol, label, teks, dan sebagainya.

Android Layout Types


Ada sejumlah Layouts disediakan oleh Android yang akan digunakan di hampir semua
aplikasi Android untuk memberikan pandangan yang berbeda, tampilan dan nuansa.

Layout Attributes
Setiap tata letak memiliki seperangkat atribut yang menentukan sifat visual tata letak
itu. Ada beberapa atribut umum di antara semua layout dan mereka atribut lainnya
yang khusus untuk tata letak itu. Berikut ini adalah atribut umum dan akan diterapkan
ke semua layout:

Jenis Tata Letak Android


Ada sejumlah Layouts disediakan oleh Android yang akan Anda gunakan di hampir
semua aplikasi Android untuk memberikan pandangan yang berbeda, tampilan dan
nuansa.
S.

Layout & Dscription

N
1

Linear Layout
LinearLayout adalah kelompok tampilan yang sejalan semua anak dalam

satu arah, secara vertikal maupun horizontal.


Relative Layout
RelativeLayout adalah kelompok tampilan yang menampilkan tampilan

anak dalam posisi relatif


Table Layout
TableLayout adalah suatu pandangan bahwa kelompok-kelompok

tampilan dalam baris dan kolom.


Absolute Layout
AbsoluteLayout memungkinkan Anda untuk menentukan lokasi yang
tepat dari anak-anaknya.

Frame Layout
The FrameLayout merupakan tempat di layar yang dapat Anda gunakan

untuk menampilkan satu tampilan.


List View
ListView adalah kelompok tampilan yang menampilkan daftar item yang

dapat digulir
Grid View
GridView adalah ViewGroup yang menampilkan item dalam dua dimensi,
digulir jaringan

III.

Alat dan Bahan


1. PC Komputer / Laptop
2. Operating System Windows
3. Java Development Kit
4. Android SDK
5. Android Studio.

IV.

Langkah Kerja
Praktik 1
Pada praktikum ini adalah membuat contoh dari implementasi event handling pada
progam android.
1. Langkah pertama yang dilakukan adalah membuat project baru dengan nama J4EventHandling dengan menggunakan program Android Studio.

2. Kemudian

langkah

selanjutnya

MainActivity.java seperti berikut :


package com.example.eventdemo;
import android.os.Bundle;
import android.app.Activity;

yaitu

menuliskan

kode

program

pada

import
import
import
import

android.view.Menu;
android.view.View;
android.widget.Button;
android.widget.TextView;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//--- find both the buttons--Button sButton = (Button) findViewById(R.id.button_s);
Button lButton = (Button) findViewById(R.id.button_l);
// -- register click event with first button --sButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(14);
}
});
// -- register click event with second button --lButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(24);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

3. Selanjutnya pada activity_main.xml tuliskan kode program xml sebagai berikut :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_s"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_small"/>
<Button
android:id="@+id/button_l"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_large"/>

<TextView
android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:capitalize="characters"
android:text="@string/hello_world" />
</LinearLayout>

4. Pada direktori res/values/string.xml dapat menggunakan kode program sebagai


berikut untuk mendefinisikan dua constant baru.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
<string
<string
<string
<string

name="app_name">EventDemo</string>
name="action_settings">Settings</string>
name="hello_world">Hello world!</string>
name="button_small">Small Font</string>
name="button_large">Large Font</string>

</resources>

5. Berikut adalah default content dari AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.guidemo"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.guidemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>

6. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shift + F10 pada keyboard.

7. Akan muncul jendela choose device untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.

8. Hasil dari program di atas adalah sebagai berikut :

Keterangan : Pada saat tombol Button Small ditekan, TextView Hello World!
dalam ukuran kecil, setelah tombol Button Large ditekan, TextView Hello
World! dalam ukuran besar.
Praktik 2
1. Membuat project baru masih tentang event handling dengan nama J4
EventDemo dengan menggunakan program adnroid studio.

2. Pada tampilan awal, akan muncul jendela dari program sebagai berikut :

3. Selanjutnya menuliskan kode program java untuk MainActivity.java


package com.example.eventdemo;
import
import
import
import
import
import
import

android.os.Bundle;
android.app.Activity;
android.view.Menu;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//--- find both the buttons--Button sButton = (Button) findViewById(R.id.button_s);
Button lButton = (Button) findViewById(R.id.button_l);

// -- register click event with first button --sButton.setOnClickListener(this);


// -- register click event with second button --lButton.setOnClickListener(this);
}
//--- Implement the OnClickListener callback
public void onClick(View v) {
if(v.getId() == R.id.button_s)
{
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(14);
return;
}
if(v.getId() == R.id.button_l)
{
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(24);
return;
}

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

4. Untuk setelahnya dapat menggunakan seperti pada program Praktik 1 yaitu J4


EventHandling dimana tidak terdapat petubahan kode dari program tersebut.
pada activity_main.xml tuliskan kode program xml sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_s"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_small"/>
<Button
android:id="@+id/button_l"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_large"/>
<TextView
android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:capitalize="characters"
android:text="@string/hello_world" />
</LinearLayout>

5. Pada direktori res/values/string.xml dapat menggunakan kode program sebagai


berikut untuk mendefinisikan dua constant baru.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
<string
<string
<string
<string

name="app_name">EventDemo</string>
name="action_settings">Settings</string>
name="hello_world">Hello world!</string>
name="button_small">Small Font</string>
name="button_large">Large Font</string>

</resources>

6. Berikut adalah default content dari AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.guidemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.guidemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>

7. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shift + F10 pada keyboard.

8. Akan muncul jendela choose device untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.

9. Hasil dari program di atas adalah sebagai berikut :

Praktik 3
1. Membuat project baru masih tentang event handling dengan nama J4
EventDemo2 dengan menggunakan program android studio.

2. Pada tampilan awal, akan muncul jendela dari program sebagai berikut :

3. Selanjutnya menuliskan kode program java untuk MainActivity.java


package com.example.eventdemo;
import
import
import
import
import
import

android.os.Bundle;
android.app.Activity;
android.view.Menu;
android.view.View;
android.widget.Button;
android.widget.TextView;

public class MainActivity extends Activity{


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//--- Implement the event handler for the first button.
public void doSmall(View v) {
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(14);

return;
}
//--- Implement the event handler for the second button.
public void doLarge(View v) {
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(24);
return;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

4. Untuk setelahnya dapat menggunakan seperti pada program Praktik 1 yaitu J4


EventHandling dimana tidak terdapat petubahan kode dari program tersebut.
pada activity_main.xml tuliskan kode program xml sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_s"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_small"
android:onClick="doSmall"/>
<Button
android:id="@+id/button_l"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_large"
android:onClick="doLarge"/>
<TextView
android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:capitalize="characters"
android:text="@string/hello_world" />
</LinearLayout>

5. Pada direktori res/values/string.xml dapat menggunakan kode program sebagai


berikut untuk mendefinisikan dua constant baru.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">EventDemo</string>
<string name="action_settings">Settings</string>
<string name="hello_world">Hello world!</string>

<string name="button_small">Small Font</string>


<string name="button_large">Large Font</string>
</resources>

6. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shift + F10 pada keyboard.

7. Akan muncul jendela choose device untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.

8. Hasil dari program di atas adalah sebagai berikut :

Praktik 4
10. Membuat project baru masih tentang event handling dengan nama J4
EventDemo dengan menggunakan program adnroid studio.

11. Pada tampilan awal, akan muncul jendela dari program sebagai berikut :

12. Selanjutnya menuliskan kode program java untuk MainActivity.java


package com.example.eventdemo;
import
import
import
import
import
import
import

android.os.Bundle;
android.app.Activity;
android.view.Menu;
android.view.View;
android.view.View.OnClickListener;
android.widget.Button;
android.widget.TextView;

public class MainActivity extends Activity implements OnClickListener {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//--- find both the buttons--Button sButton = (Button) findViewById(R.id.button_s);
Button lButton = (Button) findViewById(R.id.button_l);

// -- register click event with first button --sButton.setOnClickListener(this);


// -- register click event with second button --lButton.setOnClickListener(this);
}
//--- Implement the OnClickListener callback
public void onClick(View v) {
if(v.getId() == R.id.button_s)
{
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(14);
return;
}
if(v.getId() == R.id.button_l)
{
// --- find the text view -TextView txtView = (TextView) findViewById(R.id.text_id);
// -- change text size -txtView.setTextSize(24);
return;
}

}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}

13. Untuk setelahnya dapat menggunakan seperti pada program Praktik 1 yaitu J4
EventHandling dimana tidak terdapat petubahan kode dari program tersebut.
pada activity_main.xml tuliskan kode program xml sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/button_s"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_small"/>
<Button
android:id="@+id/button_l"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:text="@string/button_large"/>
<TextView
android:id="@+id/text_id"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:capitalize="characters"
android:text="@string/hello_world" />
</LinearLayout>

14. Pada direktori res/values/string.xml dapat menggunakan kode program sebagai


berikut untuk mendefinisikan dua constant baru.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
<string
<string
<string
<string

name="app_name">EventDemo</string>
name="action_settings">Settings</string>
name="hello_world">Hello world!</string>
name="button_small">Small Font</string>
name="button_large">Large Font</string>

</resources>

15. Berikut adalah default content dari AndroidManifest.xml


<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.guidemo"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.guidemo.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>

16. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shift + F10 pada keyboard.

17. Akan muncul jendela choose device untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.

18. Hasil dari program di atas adalah sebagai berikut :

Praktik 4
1. Membuat project baru masih tentang event handling dengan nama J4 GridView
dengan menggunakan program android studio.

9. Pada tampilan awal, akan muncul jendela dari program sebagai berikut :

10. Selanjutnya menuliskan kode program java untuk MainActivity.java


package com.example.danangistu.j4_gridview;
import
import
import
import
import
import

android.app.Activity;
android.support.v7.app.ActionBarActivity;
android.os.Bundle;
android.view.Menu;
android.view.MenuItem;
android.widget.GridView;

public class MainActivity extends Activity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is


present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
}

11. Membuat kelas baru bernama ImageAdapter.java kemudian menuliskan kode


program berikut :
package com.example.danangistu.j4_gridview;
import
import
import
import
import
import

android.content.Context;
android.view.View;
android.view.ViewGroup;
android.widget.BaseAdapter;
android.widget.GridView;
android.widget.ImageView;

public class ImageAdapter extends BaseAdapter {


private Context mContext;
// Constructor
public ImageAdapter(Context c) {
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return null;
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(mContext);
imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setPadding(8, 8, 8, 8);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(mThumbIds[position]);
return imageView;
}
// Keep all Images in array
public Integer[] mThumbIds =
R.drawable.sample_2,
R.drawable.sample_4,
R.drawable.sample_6,
R.drawable.sample_0,
R.drawable.sample_2,
R.drawable.sample_4,
R.drawable.sample_6,
R.drawable.sample_0,

{
R.drawable.sample_3,
R.drawable.sample_5,
R.drawable.sample_7,
R.drawable.sample_1,
R.drawable.sample_3,
R.drawable.sample_5,
R.drawable.sample_7,
R.drawable.sample_1,

R.drawable.sample_2, R.drawable.sample_3,
R.drawable.sample_4, R.drawable.sample_5,
R.drawable.sample_6, R.drawable.sample_7
};
}

12. Selanjutnya pada activity_main.xml tuliskan kode program xml sebagai berikut :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<GridView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:columnWidth="90dp"
android:numColumns="auto_fit"
android:verticalSpacing="10dp"
android:horizontalSpacing="10dp"
android:stretchMode="columnWidth"
android:gravity="center"
/>
</LinearLayout>

13. Pada direktori res/values/string.xml dapat menggunakan kode program sebagai


berikut untuk mendefinisikan constant baru.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">J4 - GridView</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
</resources>

14. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shift + F10 pada keyboard.

15. Akan muncul jendela choose device untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.

16. Hasil dari program di atas adalah sebagai berikut :

V.

Kesimpulan
Pada praktikum yang telah dilakukan dapat disimpulkan bahwa

1. Pada aplikasi android sebuah form yang dikenal sebagai activity dapat ditampilkan
dengan model layout yang beragam, diantaranya adalah linear layout, relative
layout, frame layout, table layout, absolute layout, list view dan grid view.
2. Untuk menangkap interaksi user terhadap aplikasi yang berjalan dapat dilakukan
dengan mengimplementasikan action listener, seperti on click listener, on long
click listener, on focus change listener, on key listener, on touch listener, dan on
menu item click listener.
3. Untuk model implementasi listener dapat dilakukan dengan beberapa metode
yaitu :
a) Dengan menggunakan inner class anonim
b) Dengan menggunakan inner class bernama

Anda mungkin juga menyukai