MEMBUAT APLIKASI ANDROID

Disusun oleh : Andry <andrymail@gmail.com>

Membuat Aplikasi Android – Andry<andrymail@gmail.com>

1. INSTALASI TOOLS PENGEMBANGAN APLIKASI ANDROID
Sebelum memulai membuat aplikasi Android, pertama-tama kita harus melakukan instalasi tools yang diperlukan. Langkah-langkah instalasi tools untuk pengembangan aplikasi Android adalah sebagai berikut : 1. Siapkan komputer yang akan digunakan untuk mengembangkan aplikasi Android. Tools untuk pengembangan Android dapat berjalan di platform Windows, Linux, dan MacOS X. Adapun kebutuhan sistem untuk menjalankan tools ini adalah : a. Sistem operasi :  Windows XP (32-bit), Vista (32- or 64-bit), or Windows 7 (32- or 64-bit)  Mac OS X 10.5.8 atau yang lebih baru (Hanya di platform x86, dan bukan di PowerPC)  Linux yang mendukung aplikasi 32 bit (sudah dicoba di Linux Ubuntu Hardy Heron) b. Software :  JDK 5 atau JDK 6 (bukan hanya JRE)  Eclipse 3.4 (Ganymede) atau yang lebih baru, paket yang disarankan adalah :  Eclipse IDE for Java EE Developers  Eclipse IDE for Java Developers  Eclipse for RCP/Plug-in Developers  Eclipse Classic (versions 3.5.1 atau yang lebih baru)  Eclipse JDT (http://www.eclipse.org/jdt) plugin (umumnya sudah ada di paket-paket Eclipse IDE) Minimal tersedia 500 MB free space storage

c. 2.

Install SDK Starter Package (android-sdk_r10-windows.zip atau installer_r10-windows.exe). Untuk yang versi .zip caranya dengan meng-extract file tersebut ke salah satu folder di komputer, misal kita extract ke folder C:\Program Files\. Sedangkan yang versi .exe proses instalasi cukup dengan menjalankan file tersebut. Untuk mendapatkan versi terbaru dari Starter Package ini, bisa diunduh di http://developer.android.com/intl/fr/sdk/index.html . Install ADT plugin for Eclipse Untuk melakukan instalasi plugin ini secara online lakukan langkah-langkah berikut :  Jalankan Eclipse 3.5/3.6 kemudian pilih menu Help > Install New Software… (untuk Eclipse 3.4 gunakan menu Help > Software Updates…)  Pada bagian Available Software pilih tombol Add… (atau Add Site… untuk Eclipse 3.4)  Pilih tombol Archive dan browse file ADT-10.0.0.zip  Kembali ke jendela Available Software akan terlihat item Developer Tools. Centang checkbox yang ada di bagian tersebut kemudian pilih Next (atau Install untuk Eclipse 3.4)  Lanjutkan dengan mengklik tombol Next pada jendela-jendela yang ada berikutnya dan diakhiri dengan tombol Finish  Restart Eclipse  Pilih menu Window > Preferences pada Eclipse, kemudian pilih Android pada tree di panel sebelah kiri  Isikan SDK Location dengan menekan tombol Browse… kemudian pilih direktori tempat kita mengextract SDK Starter Package pada langkah 2 di atas Tambahkan platform Android dan komponen SDK lainnya

3.

4.

Membuat Aplikasi Android – Andry<andrymail@gmail.com>

Gunakan aplikasi Android SDK and AVD Manager yang disertakan dalam SDK Starter Package untuk menambahkan satu atau lebih platform Android (contohnya Android 1.6 atau Android 2.3) serta komponenkomponen lain ke dalam SDK. Untuk menjalankan Android SDK and AVD Manager di Windows, jalankan SDK Setup.exe yang ada di root direktori SDK Starter Package. Aplikasi ini juga bisa dijalankan dari Eclipse dengan menekan tombol yang ada di bawah baris menu atau melalui menu Window > Android SDK and AVD Manager. Kemudian check item yang ingin diinstall dan tekan tombol Install Selected. Dari situ akan muncul jendela untuk memulai instalasi, silakan pilih radio button Accept All yang ada di bagian kanan bawah lalu tekan tombol Install. Untuk mengawalinya kita harus menginstall Android SDK Platform-tools dan salah satu SDK Platform Android, silakan pilih versi platform Android yang dibutuhkan untuk pengembangan. Sedangkan untuk package yang lain silakan dipilih sesuai dengan kebutuhan pengembangan aplikasi, seperti USB Driver Package , Google APIs by Google Inc, dan Documentation for Android SDK.

5. Membuat Android Virtual Device (AVD) Untuk dapat menjalankan emulator dari platform yang sudah kita install, kita harus membuat sebuah AVD terlebih dahulu. AVD berisi image sistem operasi dan setting device yang akan digunakan oleh emulator. Cara membuat AVD adalah sebagai berikut :  Jalankan Android SDK and AVD Manager seperti yang ada di langkah nomor 4  Pilih Virtual Devices yang ada di panel sebelah kiri, lalu tekan tombol New…  Isikan Name sesuai pilihan (tidak boleh menggunakan spasi, huruf yang diperbolehkan hanya a-zA-Z.-_ ), kemudian pilih drop down Target untuk memilih versi sistem operasi platform yang diinginkan

Membuat Aplikasi Android – Andry<andrymail@gmail.com>

 Bagian SDCard bisa dikosongkan bisa juga diisi nilai tertentu sehingga pada emulator yang akan tersedia storage external  Bagian Skin kita bisa menentukan resolusi layar dari emulator  Setelah selesai tekan tombol Create AVD 6. Coba jalankan emulator yang baru dibuat dengan menekan tombol Start… Membuat Aplikasi Android – Andry<andrymail@gmail.com> .

1 Android 2. sekarang kita bisa memulai membuat aplikasi Android.com> . 3.0 Android 2. Berikut langkah-langkah pembuatannya : 1. 2.5 Android 1.0. Isian ini nilainya adalah sebuah angka dengan aturan berikut. tidak boleh ada dua aplikasi berbeda yang menggunakan package yang sama karena akan menyebabkan satu aplikasi menimpa aplikasi yang lain.3 Android 2. Nilai field ini juga akan menentukan library Android mana yang akan dipakai untuk kompilasi Pada bagian Properties isikan nilai berikut :  Application name.3 Android 2. Semua pengerjaan pembuatan aplikasi ini akan kita lakukan dengan menggunakan Eclipse.2.hello  Create activity. HELLO WORLD Setelah selesai melakukan instalasi tools yang diperlukan untuk mengembangkan aplikasi Android.2 Android 2. maka kelas tersebut akan menjadi kelas yang pertama kali dipanggil saat aplikasi dijalankan. Contohnya : com. Secara sederhana. Disarankan untuk menggunakan standard domain-style package untuk aplikasi yang kita buat. Versi Platform Android 3. Seperti kebiasaan belajar suatu bahasa pemrograman pada umumnya. Contoh hasil pengisian data tersebut bisa dilihat pada gambar di bawah ini. adalah nama kelas yang akan dibuat oleh plugin. kita mulai dengan membuat aplikasi Hello World. Selesai mengisikan data yang diperlukan. sebuah Activity adalah kelas yang bisa menampilkan User Interface dari aplikasi.android.1 Android 2. Jika field ini diisi.  Min SDK Version. Kelas ini akan merupakan subclass dari kelas Activity dari Android. tekan tombol Finish.0 Level API 11 10 9 8 7 6 5 4 3 2 1 4.3. adalah level API (platform Android) yang diperlukan oleh aplikasi agar dapat dijalankan.example.0 Android 1.1 Android 1. Dari Eclipse pilih menu File > New > Android Project yang akan memunculkan jendela dialog New Android Project Isikan Project name dengan HelloAndroid Pilih salah satu platform di Build Target sesuai yang telah diinstall dan target versi sistem operasi Android di mana aplikasi akan dijalankan. nama package seperti pada pemrograman menggunakan bahasa Java yang lainnya.6 Android 1. Membuat Aplikasi Android – Andry<andrymail@gmail. Nama package ini harus dibuat unik untuk semua package yang terinstall dalam sistem Android. adalah nama aplikasi yang terlihat oleh pengguna dan akan muncul di daftar aplikasi  Package name.

com> .os. Membuat Aplikasi Android – Andry<andrymail@gmail. import android. Jika kita lihat dalam tree project HelloAndroid akan ada sejumlah file dan direktori.5.app. Perhatikan bagian yang dicetak tebal adalah perubahan yang dilakukan.Activity.tester.android.java yang isinya seperti berikut : package com. } } 6. import android. Lihat ke dalam folder src akan terdapat file HelloActivity.layout. Selanjutnya kita lakukan modifikasi pada kode di atas menjadi seperti di bawah ini.onCreate(savedInstanceState). */ @Override public void onCreate(Bundle savedInstanceState) { super.main). setContentView(R.Bundle. public class HelloActivity extends Activity { /** Called when the activity is first created.

kemudian pilih menu Run As > Android Application.layout.onCreate(savedInstanceState). import android.setText("Hello World"). */ @Override public void onCreate(Bundle savedInstanceState) { super. // setContentView(R. Membuat Aplikasi Android – Andry<andrymail@gmail.package com.Activity. setContentView(tv). Coba jalankan aplikasi yang baru dibuat dengan klik kanan nama project HelloWorld yang ada di panel Package Explorer di panel sebelah kiri. TextView tv = new TextView(this). tv. Tunggu sampai proses start up emulator selesai. import android.os.TextView. jika sudah muncul tampilan Android Lock Screen.android.widget. public class HelloActivity extends Activity { /** Called when the activity is first created. } } 7. import android.com> .app.Bundle. 8. buka key lock dan akan terlihat tampilan seperti gambar di bawah ini.main).tester.

com> .onCreate(savedInstanceState). lihat isi folder res\layout\ dan buka file main.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas. setContentView(R.0" encoding="utf-8"?> <resources> <string name="hello">Hello Android</string> <string name="app_name">Hello Android</string> </resources> 3.com/apk/res/android" android:id="@id+/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> 2. Berikut ini akan dijelaskan langkah-langkah untuk mengubah kode Hello World di atas sehingga menggunakan model XML Layout. 1. yang berdasarkan pada pengalaman apabila aplikasi bertambah kompleks. Dalam folder res\values buka file strings.android. Ganti isi file tersebut menjadi seperti berikut <?xml version="1. public class HelloAndroid extends Activity { /** Called when the activity is first created. maka Android menyediakan cara lain yaitu dengan menggunakan file layout XML.xml.app. maka kode juga akan semakin rumit karena bagian tampilan dan pemrosesnya menjadi satu.xml (begitu terbuka coba klik tab main. import android.Bundle. Pada Eclipse Package Explorer. Sekarang buka dan ganti isi kelas HelloAndroid di folder src\ agar menggunakan file XML Layout menjadi seperti berikut package com.Pada contoh Hello World di atas kita menggunakan kode untuk menaruh teks pada layar. Masalah lain yang dapat timbul adalah apabila ada perubahan pada tampilan.layout. <?xml version="1.0" encoding="utf-8"?> <TextView xmlns:android="http://schemas.android. Ganti isinya dengan XML berikut ini lalu simpan. Untuk menghindarkan masalah tersebut.main).Activity.helloandroid. <?xml version="1. Coba jalankan kembali hasil kode di atas agar muncul di emulator Membuat Aplikasi Android – Andry<andrymail@gmail.xml di bagian bawah jendela kode untuk melihat isi kode XML). Contoh file layout tersebut untuk membuat Hello World adalah seperti berikut. import android.com/apk/res/android" android:id="@id+/textview" android:layout_width="fill_parent" android:layout_height="fill_parent" android:text="@string/hello"/> File tersebut ditaruh di folder res\layout\ dalam project Android.os.example. */ @Override public void onCreate(Bundle savedInstanceState) { super. } } 4.

3. Pilih radio button Create new keystore lalu tekan tombol Browse… Browse ke direktori workspace dari Eclipse lalu masuk ke folder project yang akan di Build. kemudian pilih Android Tools > Export Signed Application Package… Selanjutnya akan muncul jendela Export Android Application. kemudian isikan File name dengan keystore. selesai tekan tombol Next Membuat Aplikasi Android – Andry<andrymail@gmail. BUILD APLIKASI ANDROID Setelah aplikasi kita menyelesaikan pembuatan kode untuk aplikasi yang kita buat. Klik-kanan nama project yang akan di Build. 2.com> . 5. 4. Adapun cara melakukan Build adalah sebagai berikut : 1.key lalu akhiri dengan menekan tombol Save Kembali ke jendela Export Android Application isikan Password dan Confirm dengan password pilihan kita. misalkan HelloWorld yang ada di panel Package Explorer di sebelah kiri. isi keduanya harus sama. langkah selanjutnya yang diperlukan agar installer aplikasi tersebut bisa didownload dan diinstall di perangkat Android adalah melakukan proses Build. Pastikan isian field Project adalah nama project yang akan di Build kemudian tekan tombol Next 3.

Kembali ke jendela sebelumnya kita tekan Finish untuk memulai pembuatan file APK dari project kita.6. 7. 9. Isikan Alias. Selesai tekan tombol Next 8. Selanjutnya akan muncul jendela Key Creation. Selesai. Terakhir akan muncul jendela Destination and key/certificate checks. Tekan Browse dan pilih direktori yang diinginkan dan diakhiri dengan menekan tombol Save. dan Confirm dengan nilai yang kita inginkan. 10. Di sini kita akan menentukan di mana file APK hasil Build project kita akan ditaruh. kita bisa mencoba menginstall APK hasil build tadi ke perangkat Android yang kita miliki atau untuk di-upload ke Android Market Membuat Aplikasi Android – Andry<andrymail@gmail.com> . Password. Nilainya sesuai data diri pembuat aplikasi. untuk Validity isikan angka minimal 30 Selanjutnya untuk isian lainnya yang ada di bawahnya diperlukan ada salah satu field yang terisi.

Sebaiknya isi folder ini tidak diubah secara manual.4. Tujuannya adalah untuk memudahkan pengelolaan dan apabila diperlukan perubahan isinya cukup mengganti di satu bagian saja. file yang ada di folder assets tidak akan dibuatkan ID untuk mengaksesnya dan akan dimasukkan dalam file APK hasil build tanpa dimodifikasi/dikompilasi. Kita akan bahas lebih lanjut mengenai resource aplikasi pada bagian selanjutnya. aplikasi bisa secara otomatis memilih resource mana yang harus digunakan berdasarkan konfigurasi perangkat saat aplikasi dijalankan.  res  AndroidManifest. Untuk mengakses file yang disimpan di sini digunakan kelas AssetManager dan diacu menggunakan nama filenya. Berbeda dengan isi folder res.com> . Pada struktur tersebut kita temui ada folder-folder dan file berikut :  src  gen  assets : Folder yang berisi source code aplikasi Android. Selain itu menggunakan resource. isinya antara lain  Nama package Java dari aplikasi tersebut  Daftar komponen dari aplikasi  Permission yang diperlukan oleh aplikasi untuk mengakses protected API dan berkomunikasi dengan aplikasi lain  Permission untuk aplikasi lain yang diperlukan untuk berinteraksi dengan aplikasi ini  Minimum level Android API yang diperlukan aplikasi  Daftar libraries yang diperlukan 5. Untuk resource yang sifatnya bukan Membuat Aplikasi Android – Andry<andrymail@gmail. layout tampilan. File resource yang ditaruh di sini akan dikompilasi oleh ADT kemudian dibuatkan sebuah ID yang unik untuk mengaksesnya. string. : Di folder ini kita menaruh resource aplikasi yang berupa gambar. yang berisi ID untuk mengakses resources aplikasi yang ada di folder res. STRUKTUR PROJECT APLIKASI ANDROID Gambar di atas menunjukkan contoh sebuah struktur project aplikasi Android. : Kita dapat menaruh file apapun di sini. dan sebagainya. RESOURCE APLIKASI Objek konstanta string dan gambar yang digunakan oleh aplikasi sebaiknya dipisahkan dengan bagian source code. : Isi folder ini otomatis di-generate oleh ADT.xml : Berisi informasi mengenai aplikasi.

Ada dua cara untuk mengakses sebuah resource :  Dari kode : menggunakan bilangan integer static dari sub-class kelas R. dan sebagainya) Membuat Aplikasi Android – Andry<andrymail@gmail.]R. warna. Untuk membaca isi file ini digunakan InputStream. JPG.  <resource_name> bisa merupakan nama file resource tanpa ekstensi file atau nilai atribut android:name di elemen XML-mu (untuk string. integer. dan warna.xml untuk string values  styles. Kita menaruh file di sini apabila kita tidak memerlukan nama file asli dan struktur direktorinya. kita gunakan nama-nama berikut :  arrays.xml untuk styles File xml lain.xml untuk color values  dimens. seperti file konfigurasi XML layout/ menu/ raw/ values/ xml/ Untuk mengakses resource di folder res. kita menggunakan kelas R yang dibuat secara otomatis oleh Android Asset Packaging Tool (aapt) dari ADT Android setiap kali kita mengubah isi folder res.app_name string adalah jenis resourcenya.string.<resource_type>. Context Menu atau Sub Menu) File tipe lain yang disimpan secara mentah.  <resource_type> merupakan sub class R untuk resource type. Ada sebuah konvensi penamaan file di direktori values berdasarkan tipenya. biasa resource disimpan dalam struktur file XML. misalnya : R.file biner. file resource dipisahkan berdasarkan jenisnya. kita taruh file tersebut di folder assets/ Berisi file XML untuk nilai string. Adapun struktur direktori di dalam folder res adalah sebagai berikut : Nama Direktori anim/ color/ drawable/ Jenis Resource Berisi file XML untuk animasi (alpha.<resource_name>  <package_name> merupakan nama package tempat resource berada (elemen ini tidak diperlukan apabila kita mengakses resource di package yang sama dengan package aplikasimu).xml untuk dimension values  strings. translate. Jika kita membutuhkan salah satu dari kedua hal tersebut. rotate. Di dalam folder res. etc Berisi file XML yang mendefinisikan UI layout Berisi file XML yang mendefinisikan item menu aplikasi (Options Menu.xml untuk resource arrays  colors. GIF) atau file XML yang dikompilasi menjadi subtipe resource drawable berikut :  File bitmap  Nine-Patches (resizable bitmap)  State lists  Shapes  Animation drawables.com> . dll) Berisi file XML untuk resource warna File bitmap (PNG. dan app_name adalah nama resource yang diacu Struktur sintaks untuk mengakses resource dari kode adalah sebagai berikut : [<package_name>.

com> . maka resource drawable di folder drawable-hdpi yang akan digunakan oleh aplikasi. warna. orientasi layar (port dan land). normal. kita lihat bahwa folder resource drawable. 2. Service Service adalah komponen aplikasi yang berjalan background untuk menjalankan proses yang memakan waktu cukup lama. Dari XML : menggunakan sintaks XML khusus misalkan : @string/app_name string adalah jenis resourcenya. Datanya sendiri dapat disimpan di file system. Keempat komponen tersebut memiliki fungsi dan daur hidup yang berbeda yang menentukan bagaimana masing-masing komponen dibuat dan dihancurkan. Keempat tipe komponen aplikasi tersebut adalah : 1. Jadi apabila aplikasi Android digunakan di perangkat yang resolusinya adalah High DPI.  <resource_name> bisa merupakan nama file resource tanpa ekstensi file atau nilai atribut android:name di elemen XML-mu (untuk string. terdapat folder drawable-hdpi. in). database SQLite. dan sebagainya) Jika kita perhatikan pada gambar struktur project aplikasi Android di atas. Dalam satu folder. ukuran layar (small. dan app_name adalah nama resource yang diacu Struktur sintaks untuk mengakses resource dari XML adalah sebagai berikut : @[<package_name>:]<resource_type>/<resource_name>  <package_name> merupakan nama package tempat resource berada (elemen ini tidak diperlukan apabila kita mengakses resource di package yang sama dengan package aplikasimu). misalkan drawable-port-hdpi/. mdpi. Dengan Membuat Aplikasi Android – Andry<andrymail@gmail. fr. antara lain kepadatan resolusi layar (ldip. Sistem Operasi Android akan secara otomatis memilih resource yang tepat untuk menjalankan aplikasi tanpa perlu kita atur secara manual dari dalam aplikasi. Content Provider Content Provider mengelola sekumpulan data yang sifatnya shared. kita bisa menspesifikasikan lebih dari satu config_qualifier dalam satu folder resource untuk konfigurasi perangkat yang lebih spesifik. hdpi). Activity Activity adalah komponen aplikasi yang menyediakan layar/jendela di mana pengguna bisa berinteraksi untuk menjalankan fungsi tertentu. Adapun format nama direktori untuk resource alternatif ini adalah sebagai berikut : <resources_name>-<config_qualifier>. KOMPONEN APLIKASI Ada 4 macam komponen aplikasi yang merupakan titik masuk di mana aplikasi Android bisa berjalan. id. Ada banyak config_qualifier untuk konfigurasi yang bisa digunakan dalam Android. dan drawable-mdpi.  <resource_type> merupakan sub class R untuk resource type. bahasa dan regional (en. drawable-ldpi. Service tidak memiliki tampilan. es. 6. 3. di mana <resources_name> nama default folder resource seperti yang sudah dijelaskan sebelumnya. di penyimpanan online atau lokasi penyimpanan persisten lainnya. xlarge). large. dan <config_qualifier> adalah nama yang menspesifikasikan konfigurasi yang akan menggunakan resource di dalamnya. dan sebagainya. dan seterusnya untuk resolusi Low DPI dan Medium DPI. Hal tersebut gunanya adalah untuk mendukung berbagai macam konfigurasi perangkat yang berbeda.

4. Sistem operasi Android sendiri secara default menyediakan sejumlah content provider yang datanya dapat diakses oleh aplikasi lain. SMS. aplikasi lain dapat mengakses data yang diperlukan tanpa perlu mengetahui bagaimana data tersebut disimpan. Broadcast Receiver Broadcast Receiver adalah komponen aplikasi yang menanggapi system-wide broadcast announcements. Broadcast Receiver juga tidak memiliki tampilan. misalkan content provider log panggilan telepon. Untuk mengakses suatu content provider digunakan string URI sesuai dengan yang dispesifikasikan oleh Content Provider penyedia data. dan sebagainya. tapi dia dapat menjalankan suatu Activity atau menampilkan notifikasi di Notification Bar. Contoh broadcast yang dikirimkan oleh sistem operasi Android misalkan notifikasi ada aplikasi baru terinstall/terupdate.com> . adanya Content Provider ini. Kita akan bahas lebih lanjut mengenai Activity karena ini merupakan komponen aplikasi yang paling umum dan yang memiliki tampilan di mana pengguna bisa berinteraksi dengan aplikasi kita. ada SMS atau telepon masuk. dan sebagainya. booting sistem operasi selesai. layar mati. Membuat Aplikasi Android – Andry<andrymail@gmail. data kontak.

onStart().onResume(). Namun jika pengguna tidak pernah kembali lagi ke Activity tersebut. } @Override protected void onStart() { super. } } Membuat Aplikasi Android – Andry<andrymail@gmail. Apabila sebuah Activity dipanggil. // Another activity is taking focus (this activity is about to be "paused"). // The activity is no longer visible (it is now "stopped") } @Override protected void onDestroy() { super. Secara lengkap apabila kita akan mengimplementasikan kode untuk setiap perubahan state Activity maka struktur kerangka kode untuk Activity tersebut adalah seperti di bawah ini. Selanjutnya ada satu method lain yang cukup penting untuk diimplementasikan. } @Override protected void onPause() { super.onStop(). sistem operasi Android bisa sewaktu-waktu men-destroy Activity tersebut misal apabila ada aplikasi lain yang membutuhkan memori tambahan atau membutuhkan resource lain untuk digunakan. // The activity is about to be destroyed. misalkan untuk aplikasi email kita perlu menyimpan data email yang sedang diketikkan sebagai Draft email. maka kode yang berada di dalam method onCreate akan dieksekusi. kita perlu menyimpan data-data yang diperlukan saat method onPause ini dipanggil.onCreate(savedInstanceState).Gambar di atas merupakan skema lifecycle dari sebuah Activity. Di sini kita harus menyimpan data-data persistent yang mungkin diperlukan saat Activity tersebut dijalankan lagi. // The activity is about to become visible. } @Override protected void onResume() { super. yang akan dipanggil apabila ada Activity lain yang dijalankan menggantikan Activity tersebut. // The activity is being created. } @Override protected void onStop() { super. // The activity has become visible (it is now "resumed").com> . public class ExampleActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super. Di sini biasa kita menaruh kode untuk menginisialisasi tampilan dan variabel lain yang diperlukan oleh activity tersebut. karena ada kemungkinan pengguna akan kembali lagi ke Activity ini misalkan dengan menekan tombol BACK dari Activity yang baru dijalankan atau karena event lain.onDestroy(). yaitu onPause. Activity yang di-pause ini tidak langsung di-destroy.onPause(). Karena itulah.

Gambar di bawah ini adalah tampilan Visual Layout Editor di Eclipse yang akan muncul saat kita membuka file XML layout. lalu klik Finish. atau menggunakan file XML layout. serta kita memisahkan antara bagian tampilan dengan bagian pemrosesan dari aplikasi. Buat sebuah project Android di Eclipse bernama Training. Isikan form New Android Project seperti gambar di bawah ini. Membuat Aplikasi Android – Andry<andrymail@gmail. File XML layout ini disimpan di folder res/layout/ pada project Android kita. pada ADT terdapat tool bernama Visual Layout Editor yang memudahkan kita melihat dan membuat tampilan secara WYSIWYG (What You See Is What You Get) tanpa secara manual mengetikkan dokumen XML. Langkah-langkahnya adalah sebagai berikut : 1. Sangat disarankan untuk menggunakan metode file XML layout agar kode Java kita lebih bersih dan rapi. Untuk membuat dan memodifikasi resource XML layout. MEMBUAT KOMPONEN TAMPILAN APLIKASI ANDROID Sekarang kita akan mempelajari bagaimana membuat tampilan untuk aplikasi Android kita. Dengan menggunakan tools ini kita bisa menggunakan mekanisme Drag-and-Drop untuk menambahkan komponen tampilan yang kita butuhkan.com> . A. K OM P ON EN T AMP IL AN D AN L AYOUT Kita akan mempelajari penggunaan berbagai macam komponen tampilan dan layout dengan membuat sebuah project aplikasi Android.7. Untuk membuat tampilan kita bisa membuatnya dengan menggunakan kode di file Java yang kita buat. silakan pilih versi Build Target sesuai dengan platform Android yang tersedia di komputer Anda.

xml kemudian tambahkan nilai string berikut <?xml version="1.com> . Buka file res/values/strings.0" encoding="utf-8"?> <resources> <string name="hello">Hello World. HelloAndroid!</string> <string name="app_name">Training</string> <string name="submit_label">Submit</string> <string name="exit_label">Exit</string> <string name="edit_text_hint">Input your name here</string> <string name="agree_label">I Agree the Terms and Conditions</string> <string name="male_label">Male</string> <string name="female_label">Female</string> <string name="sex_title">Pick Your Sex</string> <string name="education_label">Last education</string> </resources> Membuat Aplikasi Android – Andry<andrymail@gmail.2.

Cara menambahkannya Anda dapat mengetikkannya secara manual dengan mengaktifkan tab strings. Buat file colors. High School. Membuat Aplikasi Android – Andry<andrymail@gmail. kemudian tekan lagi tombol Add saat item education_options tersorot. beri nama itemnya blue.xml kemudian tambahkan satu value bertipe Color seperti cara menambahkan string resource di atas.com> .xml di atas. Tambahkan beberapa Item Elementary School. kemudian tambahkan item bertipe String Array bernama education_options. baru kita isikan nama resource dan nilainya seperti pada gambar di bawah ini.xml di dalam folder res/values. Buka file res/values/colors.xml yang ada di bawah jendela editor Eclipse. Bachelor. 3. atau pada mode tab Resource di bawah jendela editor Eclipse kita tekan tombol Add kemudian kita pilih String dari jendela daftar tipe resource yang muncul. caranya klik kanan item folder tersebut kemudian pilih menu New>Android XML File dan isikan nama file seperti gambar di bawah ini 4. dan values-nya adalah #0000FF Buat file res/values/arrays.xml seperti pembuatan file colors. 5.

Sekarang kita akan membuat tampilan aplikasi kita.xml.xml yang dibuat oleh Eclipse dari proses pembuatan project aplikasi Android. Buka file res/layout/main.0" encoding="utf-8"?> <resources> <string-array name="education_options"> <item>Elementary School</item> <item>High School</item> <item>Bachelor</item> <item>Master</item> <item>Doctoral</item> </string-array> </resources> 6. dan Doctor sebagai sub-item dari education_options sehingga tampilan editor seperti gambar di bawah ini. Adapun hasil akhir dari tampilan aplikasi yang akan kita buat adalah seperti gambar berikut. Membuat Aplikasi Android – Andry<andrymail@gmail. maka isi file tersebut adalah sebagai berikut.Master. <?xml version="1.com> . Apabila kita lihat tab arrays.

xml adalah sebagai berikut. RadioButton. Di situ juga akan ditunjukkan penggunaan LinearLayout dan FrameLayout untuk mengatur posisi komponen. EditText.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas. RadioGroup. CheckBox. <?xml version="1.android. dan ImageView.com> . Adapun isi file main. Spinner.Untuk membuat tampilan tersebut akan digunakan komponen TextView.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" android:textStyle="bold" android:textSize="18dp" android:textColor="@android:color/white" android:background="@color/blue"/> Membuat Aplikasi Android – Andry<andrymail@gmail.

com> .<EditText android:id="@+id/editName" android:layout_height="wrap_content" android:layout_width="match_parent" android:hint="@string/edit_text_hint"></EditText> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/sex_title" android:textSize="17dp"></TextView> <RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioGroupSex"> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:checked="true" android:id="@+id/radioMale" android:text="@string/male_label"></RadioButton> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/radioFemale" android:text="@string/female_label"></RadioButton> </RadioGroup> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="17dp" android:text="@string/education_label"></TextView> <Spinner android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/spinnerEducation" android:entries="@array/education_options"></Spinner> <CheckBox android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/checkBoxAgree" android:text="@string/agree_label"></CheckBox> <LinearLayout android:layout_height="wrap_content" android:layout_width="fill_parent" android:orientation="horizontal" android:gravity="center_horizontal"> <Button android:layout_height="wrap_content" android:text="@string/submit_label" Membuat Aplikasi Android – Andry<andrymail@gmail.

com> .android:layout_width="100dp" android:id="@+id/buttonSubmit"></Button> <Button android:layout_height="wrap_content" android:text="@string/exit_label" android:layout_width="100dp" android:id="@+id/buttonExit"></Button> </LinearLayout> <FrameLayout android:layout_width="match_parent" android:id="@+id/frameLayout1" android:layout_height="fill_parent"> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView1" android:src="@drawable/icon"></ImageView> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView2" android:src="@drawable/icon" android:layout_gravity="center"></ImageView> <ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/imageView3" android:src="@drawable/icon" android:layout_gravity="bottom|right"></ImageView> </FrameLayout> </LinearLayout> Atau jika kita lihat di jendela Outline di sebelah kanan jendela Visual Layout Editor kita akan melihat struktur tree seperti gambar di bawah ini Membuat Aplikasi Android – Andry<andrymail@gmail.

yang artinya elemen anak ke-n+1 akan berada di kanan elemen ke-n. kita gunakan resource array bernama education_options yang sudah kita buat pada langkah ke-5 di atas.  Selanjutnya ada elemen RadioGroup dan RadioButton. artinya elemen anak ke-n+1 akan berada di bawah elemen ke-n  Elemen anak pertama dari LinearLayout itu adalah sebuah TextView. maka kita isikan nilai teks awal tersebut di atribut Text dari EditText. digunakan style bold.com> .  Elemen Spinner biasa juga dikenal sebagai komponen Combo Box pada platform lain. Hint ini akan tampil apabila isian EditText ini masih kosong. Agar posisi elemen anaknya terletak di tengah kita set atribut Gravity bernilai center_horizontal dan Layout width bernilai fill_parent atau match_parent. yaitu Text untuk mengatur teks di sebelah tanda centang dan Checked untuk mengatur nilai checkbox apakah tercentang atau tidak  LinearLayout dengan orientasi horizontal. atau match_parent yaitu menggunakan nilai ukuran yang fix. Kita supply ID array tersebut pada nilai atribut Entries dari elemen ini. Apabila kita ingin memberikan nilai awal untuk isian EditText.  Elemen CheckBox. dengan label kita mengacu resource string bernama hello. dan latar belakang TextView tersebut diberi warna biru dengan mengakses nilai resource color bernama blue  Elemen selanjutnya adalah sebuah EditText yang kita beri nama editName. Untuk data pilihan yang bisa dipilih oleh pengguna. fill_parent. dengan ukuran font 18dp (density-independent pixel).  Sebagai anak dari LinearLayout dengan orientasi horizontal di atas kita tambahkan dua buah Button. Untuk styling teksnya. Membuat Aplikasi Android – Andry<andrymail@gmail. ada dua atribut yang perlu diketahui.Adapun penjelasan dari masing-masing komponen di atas adalah sebagai berikut :  Pada elemen paling atas terdapat sebuah LinearLayout yang kita set orientasinya adalah vertical. Untuk mengatur label dari Button ini kita set nilai atribut Text. Di sini ditunjukkan pula alternatif nilai Layout width selain wrap_content. kedua elemen ini saling berkaitan di mana sebuah RadioGroup itu akan memiliki satu atau lebih RadioButton yang hanya ada satu elemen RadioButton tersebut yang nilai Checked nya adalah true dalam suatu waktu. dan kita gunakan atribut Hint untuk memberikan penjelasan kepada pengguna mengenai apa yang harus dimasukkan untuk isian ini.

widget. dan bottom|right. import android.com> . M E N GAKSES K OM P ON EN T AM P ILAN D ARI K ODE Untuk dapat memproses ataupun memodifikasi isi tampilan saat runtime. maka kita perlu cara untuk mengakses komponen tersebut dari kode Java di aplikasi kita. import android. yang kita set nilai Layout gravity nya bernilai left. center.java di folder src dan ubah isinya seperti kode di bawah ini. Buka file HelloAndroid.widget.Activity. package com.Bundle. pengaturan posisi komponennya dikendalikan oleh masing-masing komponen anaknya.android. Untuk itu kita pergunakan method findViewById() yang ada dimiliki oleh kelas Activity atau kelas View. Silakan coba jalankan aplikasi yang kita buat di atas di emulator.training.View. import android.7.OnClickListener. B.view. Di situ kita bisa lihat ada tiga komponen yang menjadi anak dari FrameLayout yang berupa komponen ImageView.os. yaitu dengan mengatur nilai atribut Layout gravity. import android.CheckBox.view.Button. import android.EditText.  Layout terakhir yang digunakan adalah FrameLayout. Hasilnya akan seperti gambar di bawah ini. import android. import android.widget. Membuat Aplikasi Android – Andry<andrymail@gmail. Untuk FrameLayout.app.View.

= (CheckBox) findViewById(R. import android. private Button private Button btnSubmit.id.editName). btnExit = (Button) findViewById(R.radioGroupSex).Spinner.buttonSubmit).id. btnExit.id. Membuat Aplikasi Android – Andry<andrymail@gmail.spinnerEducation). @Override public void onCreate(Bundle savedInstanceState) { super.main). radioSexSelector.buttonExit) { } } } Pada kode di atas juga ditunjukkan cara untuk menangani event penekanan tombol.buttonExit).id.buttonSubmit) { } else if (viewId == R.onCreate(savedInstanceState).widget.com> . = (Spinner) findViewById(R. btnSubmit. editName radioSexSelector spinnerEducation checkAgree btnSubmit = (EditText) findViewById(R.widget. } public void onClick(View v) { int viewId = v.id. = (Button) findViewById(R. public class HelloAndroid extends Activity implements OnClickListener { /** Called when the activity is first created.layout.checkBoxAgree). if (viewId == R.setOnClickListener(this). private CheckBox checkAgree. btnSubmit.import android.id. */ private EditText private RadioGroup private Spinner editName. spinnerEducation. setContentView(R.id.setOnClickListener(this).RadioGroup.getId(). = (RadioGroup) findViewById(R.id.

Toast. public void onClick(View v) { int viewId = v.com> .C. Cara membuat Toast bisa dilihat pada kode di bawah. } else if (viewId == R.getId().LENGTH_LONG).widget. } if (t != null) t. T OAST Untuk menampilkan pesan informasi singkat kepada pengguna di Android dapat digunakan Toast. "This is Toast :\nButton Submit Pressed".show().java pada bagian method onClick sehingga isinya menjadi seperti di bawah ini. Membuat Aplikasi Android – Andry<andrymail@gmail.id. yang bentuknya menyerupai sebuah baloon text seperti gambar berikut.buttonExit) { t = Toast. } Tambahkan pula baris di bawah ini di bagian import lalu coba jalankan lagi kode kita di emulator dan tekan tombol Submit atau Exit untuk melihat hasil Toast yang dibuat. import android.buttonSubmit) { t = Toast. "This is Toast :\nButton Exit Pressed". Toast. Toast t = null. Kita akan ubah isi file HelloAndroid. if (viewId == R.makeText(this.makeText(this.id. Toast.LENGTH_LONG).

import android. Kita kembali akan memodifikasi method onClick sehingga menjadi seperti kode di bawah ini.DialogInterface. } }). import android. builder.content.D. maka akan muncul Dialog konfirmasi seperti gambar di bawah ini. destroy this activity now finish().getId(). Membuat Aplikasi Android – Andry<andrymail@gmail. "This is Toast :\nButton Submit Pressed". kita akan membuat dialog konfirmasi keluar dari aplikasi saat pengguna menekan tombol Exit. di Android kita juga bisa menampilkan jendela Dialog terutama apabila untuk keperluan konfirmasi aksi yang akan dilakukan atau menampilkan pesan kesalahan yang sifatnya fatal. int which) { // User give exit confirmation. t. Silakan coba memilih menekan tombol Yes atau No dari jendela dialog tersebut. public void onClick(View v) { int viewId = v.com> . import android.app.setNegativeButton("No".makeText(this. Contohnya.Builder.app.buttonExit) { Builder builder = new Builder(this). } } Tambahkan pula import kelas-kelas berikut di bagian import kelas HelloActivity. builder.AlertDialog.AlertDialog. Selanjutkan jalankan lagi aplikasi kita. builder.id.LENGTH_LONG). Toast. new DialogInterface. dialog. dan coba tekan tombol Exit. if (viewId == R.id.create().setPositiveButton("Yes". D IAL OG Selain Toast. AlertDialog dialog = builder. null). } else if (viewId == R.show().OnClickListener() { public void onClick(DialogInterface dialog.setMessage("Exit from application?").buttonSubmit) { Toast t = Toast.show().

if (selectedSexRadioButtonId == R. Kembali kita modifikasi method onClick sehingga isinya menjadi seperti berikut. Kita akan membaca data masukan saat pengguna menekan tombol Submit kemudian kita akan tampilkan hasil bacaan tersebut dalam Toast.toString(). String sex = "Unknown". pada aplikasi yang menerima masukan dari pengguna tentu kita perlu untuk membaca data hasil masukan tersebut.id. } // Selected Spinner value String lastEducation = spinnerEducation.com> .radioMale) { sex = "Male".getId().E. Berikut akan ditunjukkan bagaimana hal tersebut dapat dilakukan. M E MB A CA N ILAI M ASUK AN D ARI P EN GGUN A Kita telah membuat sebuah form yang menerima masukan dari pengguna.id.buttonSubmit) { // EditText Name value String name = editName.getSelectedItem(). } else if (selectedSexRadioButtonId == R.radioFemale) { sex = "Female". public void onClick(View v) { int viewId = v.getText(). // Selected RadioButton value int selectedSexRadioButtonId = radioSexSelector.toString(). // CheckBox checked value Membuat Aplikasi Android – Andry<andrymail@gmail.id. if (viewId == R.getCheckedRadioButtonId().

} }). t.boolean isAgreeChecked = checkAgree. AlertDialog dialog = builder. builder.setMessage("Exit from application?").setPositiveButton("Yes".show(). null). // Show input data using Toast String toastMessage = "Input values :\n" + "Name = " + name + "\n" + "Sex = " + sex+ "\n" + "Last education = " + lastEducation + "\n" + "Is Agree = " + isAgreeChecked. } } Contoh hasil pengisian data dan hasilnya saat kita menekan tombol Submit adalah seperti gambar berikut. builder. dialog.setNegativeButton("No". } else if (viewId == R. int which) { // User give exit confirmation. toastMessage. M E MAN GGIL A CTIVITY L AIN DAN P ASSING V ARIAB LE A N T AR A C TIVITY Membuat Aplikasi Android – Andry<andrymail@gmail.LENGTH_LONG).isChecked(). Toast.buttonExit) { Builder builder = new Builder(this).OnClickListener() { public void onClick(DialogInterface dialog. destroy this activity now finish(). builder.makeText(this.show(). Toast t = Toast. new DialogInterface.id.create(). F.com> .

. 2.com> . Untuk menjalankan suatu Activity digunakan method startActivity dari kelas Context. = "education". . = "agree". Untuk menunjukkan proses ini. maka kita akan mengirimkan data hasil bacaan masukan pengguna untuk ditampilkan nilainya pada Activity kedua.Sebuah aplikasi Android biasa terdiri dari beberapa Activity yang dipanggil berdasarkan aksi yang akan dilakukan pengguna.training. Di folder src kita buat sebuah kelas Activity baru yang kita namakan ResultActivity.android kita klik kanan kemudian pilih New>Class. 3. Kita kembali lagi ke kelas HelloAndroid kemudian tambahkan konstanta berikut di bawah baris deklarasi nama kelas HelloAndroid public class HelloAndroid extends Activity implements OnClickListener { public static final String NAME_INPUT_KEY public static final String SEX_INPUT_KEY public static final String EDUCATION_INPUT_KEY public static final String AGREE_INPUT_KEY = "name". Kembali kita modifikasi isi method onClick dari kelas HelloAndroid pada bagian penanganan tombol Submit sehingga menjadi seperti berikut. Pada jendela New Java Class isikan data seperti pada gambar di bawah ini dan setelah selesai tekan tombol Finish. = "sex". Langkah-langkahnya adalah sebagai berikut : 1. public void onClick(View v) { Membuat Aplikasi Android – Andry<andrymail@gmail. Caranya adalah dari nama package com..

getText(). sex). // Selected RadioButton value int selectedSexRadioButtonId = radioSexSelector.create().putExtra(AGREE_INPUT_KEY. } } Bagian yang berubah adalah kita menghapus bagian yang menginisialisasi String toastMessage dan membuat Toast.toString().id.buttonSubmit) { // EditText Name value String name = editName.isChecked().putExtra(NAME_INPUT_KEY. lastEducation). i.radioFemale) { sex = "Female". kemudian diganti dengan membentuk objek Intent. } else if (selectedSexRadioButtonId == R.class).buttonExit) { Builder builder = new Builder(this). String sex = "Unknown".id. builder. } }). new DialogInterface. dialog. i. AlertDialog dialog = builder. isAgreeChecked).setPositiveButton("Yes".com> .int viewId = v.id.id. } else if (viewId == R.setMessage("Exit from application?"). ResultActivity. i. startActivity(i).radioMale) { sex = "Male".getId(). int which) { // User give exit confirmation.getSelectedItem(). builder.getCheckedRadioButtonId().setNegativeButton("No". if (viewId == R. // CheckBox checked value boolean isAgreeChecked = checkAgree. // Start new activity to display input data Intent i = new Intent(this. null). builder. name).show(). i.putExtra(EDUCATION_INPUT_KEY.OnClickListener() { public void onClick(DialogInterface dialog.putExtra(SEX_INPUT_KEY. } // Selected Spinner value String lastEducation = spinnerEducation.toString(). destroy this activity now finish(). if (selectedSexRadioButtonId == R. menaruh variabel yang akan Membuat Aplikasi Android – Andry<andrymail@gmail.

getBoolean(HelloAndroid.setText(textviewLabel). setContentView(tv). import android. } } 5. String sex = extras. boolean isAgree = extras.Activity. import android.com> .app. import android.AlertDialog. 4.getString(HelloAndroid.AGREE_INPUT_KEY). package com.TextView.getExtras().training.widget. tv. public class ResultActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super. Kita buka kelas ResultActivity yang tadi sudah kita persiapkan. String textviewLabel = "Input values :\n" + "Name = " + name + "\n" + "Sex = " + sex+ "\n" + "Last education = " + education + "\n" + "Is Agree = " + isAgree. Bundle extras = getIntent().getString(HelloAndroid.getString(HelloAndroid. String education = extras. Pada bagian import juga perlu kita tambahkan baris berikut.EDUCATION_INPUT_KEY).Bundle.dikirimkan dan memanggil method startActivity. String name = extras.onCreate(savedInstanceState).app. kemudian tambahkan method onCreate beserta isinya seperti kode di bawah ini.android.NAME_INPUT_KEY). import android. Coba jalankan lagi aplikasi tersebut di emulator.os.SEX_INPUT_KEY). TextView tv = new TextView(this). isikan field-field masukan dan tekan tombol Submit Membuat Aplikasi Android – Andry<andrymail@gmail.

Untuk memperbaiki kesalahan ini kita buka file AndroidManifest. sehingga aplikasi tidak mengenali pemanggilan Activity tersebut.xml. 8. Hasilnya akan aplikasi kita akan langsung keluar dan menampilkan pesan Force Close seperti gambar berikut 7. Penyebab error tersebut adalah karena kelas ResultActivity belum didaftarkan di file AndroidManifest. Membuat Aplikasi Android – Andry<andrymail@gmail.xml.6. kemudian pada tab Application kita lihat bagian Application Nodes di bawah.com> .

dan akan tampil halaman seperti gambar berikut. kemudian ulangi pengisian nilai field-field yang ada dan diakhiri dengan menekan tombol Submit.9.xml. kemudian pilih Activity. yaitu ResultActivity. Coba jalankan lagi aplikasi ini di emulator. Kemudian kita isikan field Name dengan nama activity kedua kita. Akan muncul field-field baru di bagian kanan bawah seperti gambar berikut. Kita bisa mengetikkan manual nama kelas activity kita pada EditText yang tersedia atau dengan menekan tombol Browse di sebelah kanan EditText Name lalu mengetikkan beberapa huruf awal dari nama activity yang akan kita tambahkan lalu kita pilih dari hasil filtering yang muncul. Membuat Aplikasi Android – Andry<andrymail@gmail. Selesai ketikkan Ctrl+S untuk menyimpan perubahan pada file AndroidManifest. Kali ini aplikasi kita tidak mengalami Force Close. 10. Tekan tombol Add.com> .

com> . Membuat Aplikasi Android – Andry<andrymail@gmail. serta dokumentasi API library Android. Semoga dengan training singkat ini semakin banyak karya-karya dari developer di Indonesia yang meramaikan Android Market.Demikianlah dasar pembuatan aplikasi Android.android. untuk belajar lebih lanjut dapat digunakan file dokumentasi yang bisa diunduh dari http://developer.com. Di situ terdapat lebih banyak resource pembelajaran mengenai macam-macam komponen tampilan. tips dan trik pembuatan aplikasi.

Sign up to vote on this title
UsefulNot useful