pemrograman mobile android praktik 4 - event handling
DESCRIPTION
Event HandlingTRANSCRIPT
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 1/30
LAPORAN PRAKTIKUM
PEMROGRAMAN APLIKASI MOBILE
JOB 4 – EVENT HANDLING
Disusun oleh :
N! : Dnn" Is#oe Nu"$oho
NIM : %&%4&'(&)&)*
PROGAM STUDI TEKNIK IN+ORMATIKA
JURUSAN TEKNIK ELEKTRO
POLITEKNIK NEGERI SEMARANG
()'4,()'-
E.en# Hn/lin"
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 2/30
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 3/30
media AA8$ AA8 .1$ M03$ M($ gg &orbis$ ;A&$ 07%$ 05%$
%<$ M0
Messaging SMS dan MMS
;eb browser erdasarkan open source ;eb*it layout engine$ ditambah
dengan mesin &/ a)aScript 8hrome mendukung #M!
dan 8SS3.
Multi9touch Android memiliki dukungan asli untuk multi9touch yang
awalnya dibuat tersedia dalam handset seperti #8 #ero.
Multi9tasking 0engguna dapat melompat dari satu tugas ke yang lain dan
waktu yang sama berbagai aplikasi dapat berjalan secara
bersamaan.
;idget
resiBable
;idget adalah resiBable$ sehingga pengguna dapat
memperluas mereka untuk menunjukkan lebih banyak konten
atau mengecilkan mereka untuk menghemat ruang
Multi9ahasa Mendukung satu arah dan teks bi9directional.
%8M %oogle 8loud Messaging +%8M, adalah layanan yang
memungkinkan pengembang mengirim data pesan singkat
kepada pengguna mereka pada perangkat Android$ tanpa
perlu solusi sync proprietary.
;i9<i (irect Sebuah teknologi yang memungkinkan aplikasi menemukan
dan pasangan secara langsung$ melalui bandwidth tinggi
peer9to9peer koneksi.
Android
eam
Sebuah teknologi berbasis 5<8 populer yang memungkinkan
pengguna langsung berbagi$ hanya dengan menyentuh dua
ponsel 5<89enabled bersama9sama.A2li1si An/$oi/
Aplikasi Android biasanya dikembangkan dalam bahasa a)a dengan menggunakan
Android S(*. Setelah dikembangkan$ aplikasi Android dapat dikemas dengan mudah
dan dijual keluar baik melalui toko seperti %oogle 0lay atau AmaBon Appstore.
*ekuatan Android ratusan juta perangkat mobile di lebih dari 1C- negara di seluruh
dunia. ni adalah dasar terinstal terbesar dari plat'orm mobile dan tumbuh cepat.
Setiap hari lebih dari 1 juta perangkat Android baru diakti'kan di seluruh dunia.
A$si#e1#u$
Sistem operasi Android adalah tumpukan komponen so'tware yang dibagi menjadi
lima bagian dan empat lapisan utama seperti yang ditunjukkan di bawah ini dalam
diagram arsitektur.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 4/30
Linu Ke$nel
(i bagian bawah lapisan adalah !inu" 9 !inu" 2.? dengan sekitar 11 patch. ni
menyediakan sistem 'ungsi dasar seperti manajemen proses$ manajemen memori$
manajemen perangkat seperti kamera$ keypad$ layar dll uga$ kernel menangani
semua hal yang !inu" benar9benar baik di seperti jaringan dan array yang luas dari
dri)er perangkat$ yang mengambil nyeri dari inter'acing dengan hardware peri'er.
Li5$$ies
(i atas kernel !inu" ada satu set perpustakaan termasuk open9source ;eb*it browser
;eb mesin$ libc perpustakaan terkenal$ basis data S>!ite yang merupakan repositori
yang berguna untuk penyimpanan dan berbagi data aplikasi$ perpustakaan untuk
bermain dan merekam audio dan )ideo$ SS! perpustakaan yang bertanggung jawab
untuk keamanan internet dll
An/$oi/ Run#i!e
ni adalah bagian ketiga dari arsitektur dan tersedia pada lapisan kedua dari bawah.
agian ini menyediakan komponen kunci yang disebut (al)ik &irtual Machine yang
merupakan jenis a)a &irtual Machine yang dirancang khusus dan dioptimalkan untuk
Android. (al)ik &M meman'aatkan 'itur inti !inu" seperti manajemen memori dan
multi9threading$ yang intrinsik dalam bahasa a)a. (al)ik &M memungkinkan setiap
aplikasi Android untuk berjalan dalam prosesnya sendiri$ dengan contoh sendiri dari
mesin )irtual (al)ik. @untime Android juga menyediakan satu set inti perpustakaan
yang memungkinkan pengembang aplikasi Android untuk menulis aplikasi Android
menggunakan standar bahasa pemrograman a)a.A22li6#ion +$!e7o$1
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 5/30
!apisan Application <ramework menyediakan berbagai layanan tingkat tinggi untuk
aplikasi dalam bentuk kelas a)a. 0engembang aplikasi yang diiBinkan untuk
menggunakan layanan ini dalam aplikasi mereka.
A2li1si
Anda akan menemukan semua aplikasi Android di lapisan atas. Anda akan menulis
aplikasi yang akan diinstal pada lapisan ini saja. 8ontoh aplikasi tersebut *ontak
uku$ rowser$ %ame dll
EVENT HANDLING
7)ents adalah cara yang sangat berguna untuk mendapatkan data dari interaksi
pengguna dengan komponen interakti' dari aplikasi$ seperti tekanan pada tombol atau
pada layar dan lainnya. Android <ramework Maintains adalah antrian kejadian yang
mana disimpan sebagai setiap kejadian dihapus dari antrian pada 'irst9in$ 'irst9out
+<<,. Anda bisa menangkap kejadian tersebut pada program anda dan
menanganinya sesuai kebutuhan.
erikut ini adalah tiga konsep yang berhubungan dengan Android 7)ent
Management:
1. 7)ent !isteners : *elas &iew yang terlibat dalam membangun %6 Android$ sama
&iew kelas menyediakan sejumlah 0endengar 7)ent. 7)ent !istener adalah objek
yang menerima pemberitahuan bila acara happes.
2. 7)ent !isteners @egistrations : 7)ent @egistrations adalah proses dimana sebuah 7)ent
#andler akan terda'tar 7)ent !istener sehingga handler dipanggil saat 7)ent !istener
kebakaran acara tersebut.
%& 7)ent #andlers : *etika suatu e)ent terjadi dan kami telah terda'tar dan e)ent listener
untuk e)ent$ e)ent listener memanggil 7)ent #andler$ yang merupakan metode yang
benar9benar menangani e)ent tersebut.
E.en# Lis#ene$s 8 E.en# Hn/le$s
7)ent #andler 7)ent !istener D (escription
on8lick+, n8lick!istener+,
his is called when the user either clicks or
touches or 'ocuses upon any widget like button$
te"t$ image etc. Eou will use on8lick+, e)ent
handler to handle such e)ent.
on!ong8lick+, n!ong8lick!istener+,
his is called when the user either clicks or
touches or 'ocuses upon any widget like button$
te"t$ image etc. 'or one or more seconds. Eou will
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 6/30
use on!ong8lick+, e)ent handler to handle such
e)ent.
on<ocus8hange+, n<ocus8hange!istener+,
his is called when the widget looses its 'ocus ie.
user goes away 'rom the )iew item. Eou will use
on<ocus8hange+, e)ent handler to handle such
e)ent.
on*ey+, n<ocus8hange!istener+,
his is called when the user is 'ocused on the item
and presses or releases a hardware key on the
de)ice. Eou will use on*ey+, e)ent handler to
handle such e)ent.onouch+, nouch!istener+,
his is called when the user presses the key$
releases the key$ or any mo)ement gesture on the
screen. Eou will use onouch+, e)ent handler to
handle such e)ent.
onMenutem8lick+, nMenutem8lick!istener+,
his is called when the user selects a menu item.
Eou will use onMenutem8lick+, e)ent handler to
handle such e)ent.
UI LA9OUTS
&iew adalah kelas dasar untuk widget$ yang digunakan untuk membuat komponen
6 interakti' seperti tombol$ te"t 'ield$ dll. &iew%roup adalah subclass dari &iew dan
menyediakan wadah tak terlihat yang terus &iews lain atau &iew%roups lain dan
menentukan tata letak si'at mereka.
0ada tingkat ketiga kita memiliki layout yang berbeda yang subclass dari kelas
&iew%roup dan tata letak yang khas mende'inisikan struktur )isual untuk antarmuka
pengguna Android dan dapat dibuat baik pada waktu berjalan dengan menggunakan
benda9benda &iew &iew%roup atau Anda dapat menyatakan tata letak Anda
menggunakan 'ile =M! sederhana mainFlayout "ml yang terletak di res layout 'older
dari proyek Anda. %6 berdasarkan layout dide'inisikan dalam 'ile =M!. ata letak
mungkin berisi jenis widget seperti tombol$ label$ teks$ dan sebagainya.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 7/30
An/$oi/ Lou# T2es
Ada sejumlah !ayouts disediakan oleh Android yang akan digunakan di hampir semua
aplikasi Android untuk memberikan pandangan yang berbeda$ tampilan dan nuansa.
Lou# A##$i5u#es
Setiap tata letak memiliki seperangkat atribut yang menentukan si'at )isual tata letak
itu. Ada beberapa atribut umum di antara semua layout dan mereka atribut lainnya
yang khusus untuk tata letak itu. erikut ini adalah atribut umum dan akan diterapkan
ke semua layout:
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 8/30
Jenis T# Le#1 An/$oi/
Ada sejumlah !ayouts disediakan oleh Android yang akan Anda gunakan di hampir
semua aplikasi Android untuk memberikan pandangan yang berbeda$ tampilan dan
nuansa.
S.
5
!ayout D (scription
1 !inear !ayout
!inear!ayout adalah kelompok tampilan yang sejalan semua anak dalam
satu arah$ secara )ertikal maupun horiBontal.2 @elati)e !ayout
@elati)e!ayout adalah kelompok tampilan yang menampilkan tampilan
anak dalam posisi relati'
3 able !ayout
able!ayout adalah suatu pandangan bahwa kelompok9kelompok
tampilan dalam baris dan kolom.
4 Absolute !ayout
Absolute!ayout memungkinkan Anda untuk menentukan lokasi yang
tepat dari anak9anaknya.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 9/30
<rame !ayout
he <rame!ayout merupakan tempat di layar yang dapat Anda gunakan
untuk menampilkan satu tampilan.
? !ist &iew
!ist&iew adalah kelompok tampilan yang menampilkan da'tar item yang
dapat digulir
%rid &iew
%rid&iew adalah &iew%roup yang menampilkan item dalam dua dimensi$
digulir jaringan
III& Al# /n Bhn
1. 08 *omputer !aptop
2. perating System ;indows
3. a)a (e)elopment *it
4. Android S(*
. Android Studio.
IV& Ln"1h Ke$0
P$1#i1 '
0ada praktikum ini adalah membuat contoh dari implementasi e)ent handling pada
progam android.
1. !angkah pertama yang dilakukan adalah membuat project baru dengan nama 49
7)ent#andling dengan menggunakan program Android Studio.
2. *emudian langkah selanjutnya yaitu menuliskan kode program pada
MainActi)ity.ja)a seperti berikut :
package com.example.eventdemo;
import android.os.Bundle;import android.app.Activity;
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 10/30
import android.view.Menu;import android.view.View;import android.widget.Button;import android.widget.TextView;
public class MainActivity extends Activity {
@verride protected void on!reate"Bundle saved#nstance$tate% { super.on!reate"saved#nstance$tate%; set!ontentView"&.layout.activity'main%;
(())) *ind bot+ t+e buttons)))
Button sButton , "Button% *indViewBy#d"&.id.button's%; Button lButton , "Button% *indViewBy#d"&.id.button'l%;
(( )) register click event wit+ *irst button )))
sButton.setn!lick-istener"new View.n!lick-istener"% { public void on!lick"View v% { (( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"/0%; 1 1%;
(( )) register click event wit+ second button )))
lButton.setn!lick-istener"new View.n!lick-istener"% { public void on!lick"View v% { (( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"20%; 1 1%;
1
@verride public boolean on!reateptionsMenu"Menu menu% { getMenu#n*later"%.in*late"&.menu.main3 menu%; return true; 1
1
3. Selanjutnya pada acti)ityFmain."ml tuliskan kode program "ml sebagai berikut :
45xml version,6/.76 encoding,6ut*)86594-inear-ayout xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6
android:layout'widt+,6*ill'parent6 android:layout'+eig+t,6*ill'parent6 android:orientation,6vertical6 9
4Button android:id,6@id(button's6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'small6(9
4Button android:id,6@id(button'l6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6
android:text,6@string(button'large6(9
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 11/30
4TextView android:id,6@id(text'id6 android:layout'widt+,6wrap'content6 android:layout'+eig+t,6wrap'content6 android:capitalie,6c+aracters6 android:text,6@string(+ello'world6 (9
4(-inear-ayout9
4. 0ada direktori $es,.lues,s#$in"&!l dapat menggunakan kode program sebagai
berikut untuk mende'inisikan dua constant baru.
45xml version,6/.76 encoding,6ut*)86594resources9
4string name,6app'name69<vent=emo4(string9 4string name,6action'settings69$ettings4(string9 4string name,6+ello'world69>ello world?4(string9 4string name,6button'small69$mall ont4(string9 4string name,6button'large69-arge ont4(string9
4(resources9
. erikut adalah de'ault content dari An/$oi/Mni;es#&!l
45xml version,6/.76 encoding,6ut*)86594mani*est xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 package,6com.example.guidemo6 android:version!ode,6/6 android:versioname,6/.76 9
4uses)sdk android:min$dkVersion,686 android:target$dkVersion,6/6 (9
4application android:allowBackup,6true6 android:icon,6@drawable(ic'launc+er6 android:label,6@string(app'name6 android:t+eme,6@style(AppT+eme6 9 4activity android:name,6com.example.guidemo.MainActivity6 android:label,6@string(app'name6 9 4intent)*ilter9 4action android:name,6android.intent.action.MA#6 (9
4category android:name,6android.intent.category.-AC!><&6(9 4(intent)*ilter9
4(activity9 4(application9
4(mani*est9
?. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shi't G <1- pada keyboard.
. Akan muncul jendela choose de)ice untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 12/30
/. #asil dari program di atas adalah sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 13/30
*eterangan : 0ada saat tombol utton Small ditekan$ e"t&iew H#ello ;orldIJ
dalam ukuran kecil$ setelah tombol utton !arge ditekan$ e"t&iew H#ello
;orldIJ dalam ukuran besar.
P$1#i1 (
1. Membuat project baru masih tentang e)ent handling dengan nama 4 K
7)ent(emo dengan menggunakan program adnroid studio.
2. 0ada tampilan awal$ akan muncul jendela dari program sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 14/30
3. Selanjutnya menuliskan kode program ja)a untuk MinA6#i.i#&0.
package com.example.eventdemo;
import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.n!lick-istener;import android.widget.Button;import android.widget.TextView;
public class MainActivity extends Activity implements n!lick-istener {
@verride protected void on!reate"Bundle saved#nstance$tate% { super.on!reate"saved#nstance$tate%;
set!ontentView"&.layout.activity'main%;
(())) *ind bot+ t+e buttons))) Button sButton , "Button% *indViewBy#d"&.id.button's%; Button lButton , "Button% *indViewBy#d"&.id.button'l%;
(( )) register click event wit+ *irst button ))) sButton.setn!lick-istener"t+is%; (( )) register click event wit+ second button ))) lButton.setn!lick-istener"t+is%; 1
(())) #mplement t+e n!lick-istener callback
public void on!lick"View v% { i*"v.get#d"% ,, &.id.button's% {
(( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"/0%; return; 1 i*"v.get#d"% ,, &.id.button'l% {
(( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"20%; return; 1
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 15/30
1
@verride public boolean on!reateptionsMenu"Menu menu% { getMenu#n*later"%.in*late"&.menu.main3 menu%; return true; 1
1
4. 6ntuk setelahnya dapat menggunakan seperti pada program P$1#i1 ' yaitu 4 K
7)ent#andling dimana tidak terdapat petubahan kode dari program tersebut.
pada acti)ityFmain."ml tuliskan kode program "ml sebagai berikut :
45xml version,6/.76 encoding,6ut*)86594-inear-ayout xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 android:layout'widt+,6*ill'parent6 android:layout'+eig+t,6*ill'parent6 android:orientation,6vertical6 9
4Button android:id,6@id(button's6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'small6(9
4Button android:id,6@id(button'l6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'large6(9
4TextView
android:id,6@id(text'id6 android:layout'widt+,6wrap'content6 android:layout'+eig+t,6wrap'content6 android:capitalie,6c+aracters6 android:text,6@string(+ello'world6 (9
4(-inear-ayout9
. 0ada direktori $es,.lues,s#$in"&!l dapat menggunakan kode program sebagai
berikut untuk mende'inisikan dua constant baru.
45xml version,6/.76 encoding,6ut*)86594resources9
4string name,6app'name69<vent=emo4(string9 4string name,6action'settings69$ettings4(string9 4string name,6+ello'world69>ello world?4(string9 4string name,6button'small69$mall ont4(string9 4string name,6button'large69-arge ont4(string9
4(resources9
?. erikut adalah de'ault content dari An/$oi/Mni;es#&!l
45xml version,6/.76 encoding,6ut*)86594mani*est xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 package,6com.example.guidemo6 android:version!ode,6/6
android:versioname,6/.76 9
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 16/30
4uses)sdk android:min$dkVersion,686 android:target$dkVersion,6/6 (9
4application android:allowBackup,6true6 android:icon,6@drawable(ic'launc+er6 android:label,6@string(app'name6 android:t+eme,6@style(AppT+eme6 9 4activity android:name,6com.example.guidemo.MainActivity6 android:label,6@string(app'name6 9 4intent)*ilter9 4action android:name,6android.intent.action.MA#6 (9
4category android:name,6android.intent.category.-AC!><&6(9 4(intent)*ilter9 4(activity9 4(application9
4(mani*est9
. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shi't G <1- pada keyboard.
/. Akan muncul jendela choose de)ice untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.
C. #asil dari program di atas adalah sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 17/30
P$1#i1 %
1. Membuat project baru masih tentang e)ent handling dengan nama 4 K
7)ent(emo2 dengan menggunakan program android studio.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 18/30
2. 0ada tampilan awal$ akan muncul jendela dari program sebagai berikut :
3. Selanjutnya menuliskan kode program ja)a untuk MinA6#i.i#&0.
package com.example.eventdemo;
import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity{
@verride protected void on!reate"Bundle saved#nstance$tate% { super.on!reate"saved#nstance$tate%; set!ontentView"&.layout.activity'main%; 1
(())) #mplement t+e event +andler *or t+e *irst button.
public void do$mall"View v% { (( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%;
(( )) c+ange text sie )) txtView.setText$ie"/0%;
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 19/30
return; 1 (())) #mplement t+e event +andler *or t+e second button. public void do-arge"View v% { (( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"20%; return; 1
@verride public boolean on!reateptionsMenu"Menu menu% { getMenu#n*later"%.in*late"&.menu.main3 menu%; return true; 1
1
4. 6ntuk setelahnya dapat menggunakan seperti pada program P$1#i1 ' yaitu 4 K
7)ent#andling dimana tidak terdapat petubahan kode dari program tersebut.
pada acti)ityFmain."ml tuliskan kode program "ml sebagai berikut :
45xml version,6/.76 encoding,6ut*)86594-inear-ayout xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 android:layout'widt+,6*ill'parent6 android:layout'+eig+t,6*ill'parent6 android:orientation,6vertical6 9
4Button android:id,6@id(button's6
android:layout'+eig+t,6wrap'content6
android:layout'widt+,6matc+'parent6 android:text,6@string(button'small6
android:on!lick,6do$mall6(9
4Button android:id,6@id(button'l6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'large6
android:on!lick,6do-arge6(9
4TextView android:id,6@id(text'id6 android:layout'widt+,6wrap'content6
android:layout'+eig+t,6wrap'content6 android:capitalie,6c+aracters6 android:text,6@string(+ello'world6 (9
4(-inear-ayout9
. 0ada direktori $es,.lues,s#$in"&!l dapat menggunakan kode program sebagai
berikut untuk mende'inisikan dua constant baru.
45xml version,6/.76 encoding,6ut*)86594resources9
4string name,6app'name69<vent=emo4(string9 4string name,6action'settings69$ettings4(string9 4string name,6+ello'world69>ello world?4(string9
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 20/30
4string name,6button'small69$mall ont4(string9 4string name,6button'large69-arge ont4(string9
4(resources9
?. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shi't G <1- pada keyboard.
. Akan muncul jendela choose de)ice untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.
/. #asil dari program di atas adalah sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 21/30
P$1#i1 4
1-. Membuat project baru masih tentang e)ent handling dengan nama 4 K
7)ent(emo dengan menggunakan program adnroid studio.
11. 0ada tampilan awal$ akan muncul jendela dari program sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 22/30
12. Selanjutnya menuliskan kode program ja)a untuk MinA6#i.i#&0.
package com.example.eventdemo;
import android.os.Bundle;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.n!lick-istener;import android.widget.Button;import android.widget.TextView;
public class MainActivity extends Activity implements n!lick-istener {
@verride protected void on!reate"Bundle saved#nstance$tate% { super.on!reate"saved#nstance$tate%;
set!ontentView"&.layout.activity'main%;
(())) *ind bot+ t+e buttons))) Button sButton , "Button% *indViewBy#d"&.id.button's%; Button lButton , "Button% *indViewBy#d"&.id.button'l%;
(( )) register click event wit+ *irst button ))) sButton.setn!lick-istener"t+is%; (( )) register click event wit+ second button ))) lButton.setn!lick-istener"t+is%; 1
(())) #mplement t+e n!lick-istener callback
public void on!lick"View v% { i*"v.get#d"% ,, &.id.button's% {
(( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"/0%; return; 1 i*"v.get#d"% ,, &.id.button'l% {
(( ))) *ind t+e text view )) TextView txtView , "TextView% *indViewBy#d"&.id.text'id%; (( )) c+ange text sie )) txtView.setText$ie"20%; return; 1
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 23/30
1
@verride public boolean on!reateptionsMenu"Menu menu% { getMenu#n*later"%.in*late"&.menu.main3 menu%; return true; 1
1
13. 6ntuk setelahnya dapat menggunakan seperti pada program P$1#i1 ' yaitu 4 K
7)ent#andling dimana tidak terdapat petubahan kode dari program tersebut.
pada acti)ityFmain."ml tuliskan kode program "ml sebagai berikut :
45xml version,6/.76 encoding,6ut*)86594-inear-ayout xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 android:layout'widt+,6*ill'parent6 android:layout'+eig+t,6*ill'parent6 android:orientation,6vertical6 9
4Button android:id,6@id(button's6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'small6(9
4Button android:id,6@id(button'l6
android:layout'+eig+t,6wrap'content6 android:layout'widt+,6matc+'parent6 android:text,6@string(button'large6(9
4TextView
android:id,6@id(text'id6 android:layout'widt+,6wrap'content6 android:layout'+eig+t,6wrap'content6 android:capitalie,6c+aracters6 android:text,6@string(+ello'world6 (9
4(-inear-ayout9
14. 0ada direktori $es,.lues,s#$in"&!l dapat menggunakan kode program sebagai
berikut untuk mende'inisikan dua constant baru.
45xml version,6/.76 encoding,6ut*)86594resources9
4string name,6app'name69<vent=emo4(string9 4string name,6action'settings69$ettings4(string9 4string name,6+ello'world69>ello world?4(string9 4string name,6button'small69$mall ont4(string9 4string name,6button'large69-arge ont4(string9
4(resources9
1. erikut adalah de'ault content dari An/$oi/Mni;es#&!l
45xml version,6/.76 encoding,6ut*)86594mani*est xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 package,6com.example.guidemo6 android:version!ode,6/6
android:versioname,6/.76 9
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 24/30
4uses)sdk android:min$dkVersion,686 android:target$dkVersion,6/6 (9
4application android:allowBackup,6true6 android:icon,6@drawable(ic'launc+er6 android:label,6@string(app'name6 android:t+eme,6@style(AppT+eme6 9 4activity android:name,6com.example.guidemo.MainActivity6 android:label,6@string(app'name6 9 4intent)*ilter9 4action android:name,6android.intent.action.MA#6 (9
4category android:name,6android.intent.category.-AC!><&6(9 4(intent)*ilter9 4(activity9 4(application9
4(mani*est9
1?. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shi't G <1- pada keyboard.
1. Akan muncul jendela choose de)ice untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.
1/. #asil dari program di atas adalah sebagai berikut :
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 25/30
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 26/30
C. 0ada tampilan awal$ akan muncul jendela dari program sebagai berikut :
1-. Selanjutnya menuliskan kode program ja)a untuk MinA6#i.i#&0.
package com.example.danangistu.D0'gridview;
import android.app.Activity;import android.support.v.app.ActionBarActivity;import android.os.Bundle;import android.view.Menu;import android.view.Menu#tem;
import android.widget.EridView;
public class MainActivity extends Activity {
@verride protected void on!reate"Bundle saved#nstance$tate% { super.on!reate"saved#nstance$tate%; set!ontentView"&.layout.activity'main%;
EridView gridview , "EridView% *indViewBy#d"&.id.gridview%; gridview.setAdapter"new #mageAdapter"t+is%%; 1
@verride public boolean on!reateptionsMenu"Menu menu% {
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 27/30
(( #n*late t+e menu; t+is adds items to t+e action bar i* it ispresent. getMenu#n*later"%.in*late"&.menu.menu'main3 menu%; return true; 11
11. Membuat kelas baru bernama mageAdapter.ja)a kemudian menuliskan kode
program berikut :
package com.example.danangistu.D0'gridview;
import android.content.!ontext;import android.view.View;import android.view.ViewEroup;import android.widget.BaseAdapter;import android.widget.EridView;import android.widget.#mageView;
public class #mageAdapter extends BaseAdapter {
private !ontext m!ontext; (( !onstructor public #mageAdapter"!ontext c% { m!ontext , c; 1
@verride public int get!ount"% { return mT+umb#ds.lengt+; 1
@verride public bDect get#tem"int position% { return null; 1
@verride public long get#tem#d"int position% { return 7; 1
@verride public View getView"int position3 View convertView3 ViewEroup parent%{ #mageView imageView; i* "convertView ,, null% { imageView , new #mageView"m!ontext%; imageView.set-ayoutFarams"new EridView.-ayoutFarams"8G3 8G%%; imageView.set$caleType"#mageView.$caleType.!<T<&'!&F%;
imageView.setFadding"83 83 83 8%; 1 else { imageView , "#mageView% convertView; 1 imageView.set#mage&esource"mT+umb#dsHpositionI%; return imageView; 1 (( Jeep all #mages in array public #ntegerHI mT+umb#ds , { &.drawable.sample'23 &.drawable.sample'K3 &.drawable.sample'03 &.drawable.sample'G3 &.drawable.sample'L3 &.drawable.sample'3 &.drawable.sample'73 &.drawable.sample'/3 &.drawable.sample'23 &.drawable.sample'K3 &.drawable.sample'03 &.drawable.sample'G3
&.drawable.sample'L3 &.drawable.sample'3 &.drawable.sample'73 &.drawable.sample'/3
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 28/30
&.drawable.sample'23 &.drawable.sample'K3 &.drawable.sample'03 &.drawable.sample'G3 &.drawable.sample'L3 &.drawable.sample' 1;1
12. Selanjutnya pada acti)ityFmain."ml tuliskan kode program "ml sebagai berikut :
4-inear-ayout xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 xmlns:tools,6+ttp:((sc+emas.android.com(tools6 android:layout'widt+,6matc+'parent6 android:layout'+eig+t,6matc+'parent6android:padding-e*t,6@dimen(activity'+oriontal'margin6 android:padding&ig+t,6@dimen(activity'+oriontal'margin6 android:paddingTop,6@dimen(activity'vertical'margin6 android:paddingBottom,6@dimen(activity'vertical'margin6tools:context,6.MainActivity69
4EridView xmlns:android,6+ttp:((sc+emas.android.com(apk(res(android6 android:id,6@id(gridview6
android:layout'widt+,6*ill'parent6 android:layout'+eig+t,6*ill'parent6 android:columnidt+,6N7dp6 android:num!olumns,6auto'*it6 android:vertical$pacing,6/7dp6 android:+oriontal$pacing,6/7dp6 android:stretc+Mode,6columnidt+6 android:gravity,6center6 (9
4(-inear-ayout9
13. 0ada direktori $es,.lues,s#$in"&!l dapat menggunakan kode program sebagai
berikut untuk mende'inisikan constant baru.
45xml version,6/.76 encoding,6ut*)86594resources9
4string name,6app'name69O0 ) EridView4(string9 4string name,6+ello'world69>ello world?4(string9 4string name,6action'settings69$ettings4(string9
4(resources9
14. Selanjutnya untuk menjalankan program klik run app pada bagian menu bar atau
dengan menekan tombol Shi't G <1- pada keyboard.
1. Akan muncul jendela choose de)ice untuk menampilkan emulator yang akan
digunakan untuk menjalankan aplikasi.
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 29/30
1?. #asil dari program di atas adalah sebagai berikut :
V& Kesi!2uln
0ada praktikum yang telah dilakukan dapat disimpulkan bahwa
7/21/2019 Pemrograman Mobile Android Praktik 4 - Event Handling
http://slidepdf.com/reader/full/pemrograman-mobile-android-praktik-4-event-handling 30/30
1. 0ada aplikasi android sebuah 'orm yang dikenal sebagai acti)ity dapat ditampilkan
dengan model layout yang beragam$ diantaranya adalah linear layout$ relati)e
layout$ 'rame layout$ table layout$ absolute layout$ list )iew dan grid )iew.
2. 6ntuk menangkap interaksi user terhadap aplikasi yang berjalan dapat dilakukan
dengan mengimplementasikan action listener$ seperti on click listener$ on long
click listener$ on 'ocus change listener$ on key listener$ on touch listener$ dan on
menu item click listener.
3. 6ntuk model implementasi listener dapat dilakukan dengan beberapa metode
yaitu :
a, (engan menggunakan inner class anonim
b, (engan menggunakan inner class bernama