A. Siklus Hidup Activity
Activity adalah suatu kelas yang disediakan oleh Android guna mengimplementasikan siklus hidup suatu kelas-kelas pada suatu aplikasi. Oleh karena itu, kelas Activity wajib diturunkan ke kelas-kelas lain pada aplikasi. Setelah Activity menurunkan sifat-sifatnya atau dengan kata lain setelah StartingPoint melakukan extends kepada kelas Activity, maka siklus di atas berlaku pula pada kelas StartingPoint. Siklus sesungguhnya berisi dengan masing-masing state yang sebenarnya adalah suatu method yang dimiliki kelas activity.
- onCreate()
Method ini dipanggil ketika activity pertama kali dibuat.
- onStart()
Method ini dipanggil ketika sebuah activity tampil ke pengguna.
- onResume()
Method ini dipanggil ketika activity yang berjalan pada saat itu dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resumed). (Hasil dari method OnRestart()).
- onFreeze()
Method ini dipanggil ketika activity berada dalam keadaan freeze atau tidak merespon akibat sedang sibuk mengerjakan task tertentu pada sistem,
- onPause()
Method ini dipanggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume().
- onStop()
Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna.
- onDestroy()
Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori).
- onRestart()
Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop.
B. Androi UI Control
Kontrol input adalah komponen interaktif di antarmuka pengguna aplikasi Anda. Android menyediakan berbagai macam kontrol yang dapat Anda gunakan di UI Anda, seperti tombol, bidang teks, bar pencarian, kotak centang, tombol zoom, tombol toggle, dan banyak lagi.
Unsur UI
- TextView
Kontrol ini digunakan untuk menampilkan teks ke pengguna.
- EditText
EditText adalah subclass TextView yang telah ditentukan sebelumnya yang mencakup kemampuan pengeditan yang kaya.
- Tombol
Tombol push yang bisa ditekan, atau diklik, oleh pengguna untuk melakukan suatu tindakan.
- Spinner
Daftar drop-down yang memungkinkan pengguna memilih satu nilai dari satu set.
- Kotak centang
Tombol on / off yang dapat dialihkan oleh pengguna. Anda harus menggunakan kotak centang saat menampilkan pengguna dengan sekelompok pilihan yang dapat dipilih yang tidak saling eksklusif.
- RadioButton
RadioButton memiliki dua negara bagian: baik dicentang atau tidak dicentang.
C. Layout
Layout adalah penyusunan dari elemen-elemen desain yang berhubungan kedalam sebuah bidang sehingga membentuk susunan artistik. Hal ini bisa juga disebut manajemen bentuk dan bidang. Tujuan utama layout adalah menampilkan elemen gambar dan teks agar menjadi komunikatif dalam sebuah cara yang dapat memudahkan pembaca menerima informasi yang disajikan.
Berikut jenis-jenis layout yang terdapat di Android :
- LinearLayout
Linear layout adalah layout yang terstruktur. linear layout akan meletakkan elemen yang ada di dalamnya secara berurutan tergantung orientationnya. jika orientationnya vertical, maka peletakan elemen akan terurut kebawah. Sedangkan jika orientationnya horizontal (secara default, orientation horizontal tidak ditulis di dalam XML), maka peletakan elemennya akan terurut ke samping.
- RelativeLayout
Relative layout adalah layout yang tergantung. Relative layout akan meletakkan elemen secara bebas, tidak terurut. Peletakan berdasarkan ketergantungannya kepada yang lain misal kepada parent atau kepada elemen lain.
- Table Layout
Table Layout adalah layout yang menampilkan elemen view berdasarkan baris dan kolom, Baris di definisikan menggunakan layout XML, sedangkan kolom diatur otomatis dari Android. Setiap elemen di dalam baris akan menjadi kolom.
- GridView
GridView adalah layout grid yang digunakan untuk membuat tampilan yang tersusun dengan bentuk rectangle dan bias digunakan untuk membuat tampilan utama aplikasi.
- ListView
ListView adalah jenis layout dengan tampilan list, digunakan untuk tampilan list.
D. Mendesain User Interface
Terdapat beberapa cara membuat atau mendesain user interface untuk android antara lain :
- Procedural
Dibuat menggunakan kode java. Caranya langsung menulis coding kedalam MainActivity.
- Declarative
Dibuat dengan menggunakan kode XML.
- Layout Editor
Layout Editor muncul bila Anda membuka file layout XML. Sesuai angka dalam gambar 1, region editor adalah seperti berikut:
- Palette: Menyediakan daftar widget dan layout yang bisa Anda seret ke dalam layout di editor.
- ComponentTree: Menampilkan hierarki tampilan untuk layout Anda. Klik sebuah item di sini untuk melihatnya dipilih dalam editor.
- Toolbar: Menyediakan tombol untuk mengonfigurasi penampilan layout di editor dan untuk mengedit properti layout.
- Design Editor: Menampilkan layout Anda bersama tampilan Design dan Blueprint.
- Properties: Menyediakan kontrol properti untuk tampilan yang dipilih saat ini.
E. Proses Thread
Proses merupakan suatu upaya pemberian ajaran secara mendalam (tanpa kritik) atau penggemblengan mengenai suatu paham atau doktrin tertentu dng melihat suatu kebenaran dr arah tertentu saja.
Thread adalah unit dasar dari penggunaan CPU, yang terdiri dari Thread ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process.
F. Komponen Aplikasi Android
Komponen aplikasi android antara lain :
Activities
Merupakan container untuk user interface (UI). Sebuah aplikasi android terbangun dari satu atau beberapa Activity.
Intents
Merupakan sistem pesan utama yang menjalankan andoid. Inten terdiri dari action yang harus dijalankan (tampil,ubah,dial,dll) dan data. Intent digunakan untuk memulai aktivitas dan komunikasi antar bagian sari sistem android. Suatu aplikasi dapat mengirimkan atau meneri intent.
Service
Service adalah komponen yang berjalan di background untuk melakukan operasi yang berjalan panjang.
Broadcast Receivers
Broadcast Receivers merespon terhadap pesan broadcast dari aplikasi lain atau dari system, Contohnya: aplikasi juga dapat melakukan broadcast agar aplikasi lain tahu bahwa beberapa aplikasi yang telah di-download ke dalam perangkat dan dapat mereka gunakan. Di sinilah fungsi Broadcast Receivers yang berfungsi mengambil alih komunikasi seperti ini dan menginisiasi aksi yang tepat.
Content Provider
Komponen content provider menyuplai data dari satu aplikasi ke aplikasi lainnya pada saat diminta datanya. Request ini ditangani oleh metode dari kelas Content Resolver. Data nya mungkin dapat disimpan di file system, di database atau di suatu tempat secara keseluruhan.
G. Struktur XML
XML (Extensible Markup Language) merupakan bahasa markup yang digunakan untuk mendefinisikan data dan dapat dipergunakan lintas sistem yang beraneka ragam.XML dirancang untuk menyimpan data secara ringkas, mudah diatur, dan dengan cara yang terstandarisasi namun bisa dimodifikasi.
Sifat yang tidak dimiliki:
- XML tidak hanya digunakan untuk web
- XML bukanlah database
- XML bukanlah sebuah bahasa pemrograman, melainkan sebuah markup language seperti HTML.
Bagian-Bagian dari Dokumen XML
Sebuah dokumen XML terdiri dari bagian bagian yang disebut dengan node, yaitu :
Root node
yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu root node. Node-node yang lainnya berada di dalam root node.
Element node
yaitu bagian dari dokumen XML yang ditandai dengan tag pembuka dan tag penutup, atau bisa juga sebuah tag tunggal elemen kosong seperti <Mahasiswa Nama=”Ade”/> . Root node biasa juga disebut root element,nama elemendapat berupa kata, angka atau karakter lainnya, nama elementidak boleh diawali dengan karakter khusus, nama elementidak boleh diawali dengan kata xml (Xml, XML, atau lainnya), nama elementidak boleh mengandung spasi
Contoh Element node:
<?xml version=”1.0” encoding=”iso-8859-1”?>
<pesan>
<date>
<day>12</day>
<month>9</month>
<year>2012<year>
</date>
<dari>Kepala BPS</dari>
<buat>Kasi Statistik Sosial</buat>
<buat>Kasi Statistik Produksi</buat>
<buat>Kasi Statistik Distribusi</buat>
<subyek>Jadwal Pemasukan Dokumen</subyek>
<isi>Tolong ditepati jadwal pemasukan dokumen</isi>
</pesan>
Attribute node
termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal.Elemen XML dapat mempunyai atribut, seperti HTML.
Contoh:
Dalam html, ada <img src= buku.jpg >
Src adalah atribut yang ditambahkan dalam elemen img.
Atribut selalu menyediakan informasi, tetapi atribut bukan merupakan bagian dari data.
Dalam XML dapat ditulis menjadi:
<file type= jpg >buku.jpg</file>
Keterangan:
file type= jpg bukan merupakan data, tetapi informasi tersebut sangat penting bagi software yang akan memanipulasi elemen file tersebut.
Penulisan atribut dapat menggunakan tanda petik satu( ‘) atau dapat juga dengan tanda
petik dua(“ ). Misal : type=’ jpg’ dapat ditulis menjadi type=” jpg” .
Contoh Attribute node:
<?xml version=”1.0” encoding=”iso-8859-1”?>
<pesan day=”12” month=”9” year=”2012”
dari=”Kepala BPS” buat=“semua kasi”
isi=”tolong ditepati jadwal pemasukan dokumen”>
</pesan>
XML Atribut untuk Metadata
Kadang-kadang referensi ID ditugaskan untuk elemen. ID ini dapat digunakan untuk mengidentifikasi elemen XML dalam banyak cara yang sama seperti atribut id dalam HTML.
- Comment node adalah baris yang tidak dieksekusi oleh parser
- Processing Instruction node, adalah perintah pengolahan dalam dokumen XML. Node ini ditandai awali dengan karakter <? Dan diakhiri dengan ?>. Tapi perlu diingat bahwa header standard XML <?xml version=”1.0” encoding=”iso-8859-1”?> bukanlah processing instruction node. Header standard bukanlah bagian dari hirarki pohon dokumen XML.
- NameSpace Node, node ini mewakili deklarasi namespace.
H. Project Struktur
- Main Project
Root Folder sebuah projek, disini kan menjadi “semua konteks” projek nama menyesuaikan penamaan awal saat membuat projek.
- Idea
Metadata spesifik proyek di mana ini disimpan oleh Android Studio.
- App
Root Folder sebuah projek, disini kan menjadi “semua konteks” projek.
- Build
Tempat semua output proses “make” yaitu classes.dex, compiled class, resource, etc.
- Libs
Tempat library aplikasi.
- Src
Disinilah kode kita nantinya, folder java berisi kode “.java”, res berisi file layout.
- Menu
file xml yang berisi apa saja menu yang ada dalam sebuah aplikasi.
- Values
dimaksudkan untuk menyimpan file xml yang menggambarkan sumber dari berbagai jenis. Sebagai contoh folder berisi file strings.xml dengan definisi sumber String. Seperti yang akan Anda lihat dari Menambahkan bagian Color, folder tata letak juga dapat berisi, misalnya, deskripsi warna. Di dalam file dimens.xml, terdapat string-string untuk konfigurasi dimensi aplikasi. Tidak jauh berbeda dengan dimens.xml maupun strings.xml, pada file ini terdapat deklarasi variable untuk theme.
- Manifests
Tugas utama dari file manifest adalah untuk memberitahukan kepada sistem mengenai komponen aplikasi.
I. Hierarchy of Screen Element
Antarmuka pengguna untuk setiap komponen aplikasi Anda didefinisikan menggunakan hierarki objek View dan ViewGroup, seperti yang ditampilkan dalam gambar 1. Setiap kelompok tampilan merupakan kontainer tak terlihat yang mengelola tampilan anak, sementara tampilan anak ini dapat berupa kontrol masukan atau widget lain yang menggambar sebagian dari UI. Pohon hierarki ini bisa sederhana atau bisa juga kompleks sesuai kebutuhan (namun yang sederhana paling baik untuk kinerja).
Untuk mendeklarasikan layout, Anda dapat menyediakan objek View dalam kode dan mulai membangun pohon, namun cara termudah dan terefektif untuk mendefinisikan layout adalah dengan file XML. XML menawarkan struktur layout yang dapat dibaca manusia, serupa dengan HTML.
Nama elemen XML untuk tampilan sesuai dengan kelas Android yang diwakilinya. Dengan demikian elemen <TextView> membuat widget TextView dalam UI Anda, dan elemen <LinearLayout> membuat kelompok tampilan LinearLayout .
J. Contoh Program Control UI
Radio Button
Menentukan jenis kelamin.
Button
Button button = (Button) findViewById(R.id.button_send);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Do something in response to button click
}
Checkbox
public void onCheckboxClicked(View view) {
// Is the view now checked?
boolean checked = ((CheckBox) view).isChecked();
// Check which checkbox was clicked
switch(view.getId()) {
case R.id.checkbox_meat:
if (checked)
// Put some meat on the sandwich
else
// Remove the meat
break;
case R.id.checkbox_cheese:
if (checked)
// Cheese me
else
// I’m lactose intolerant
break;
// TODO: Veggie sandwich
}
}
Referensi
http://ebook.repo.mercubuana-yogya.ac.id/FTI/tugas_doc_20151/13111025-TIF61_P_3-Ikhlas_13111025.pdf
https://developer.android.com/studio/write/layout-editor.html
http://www.insinyoer.com/komponen-aplikasi-android/
http://ayubdehh.blogspot.co.id/
https://www.dumetschool.com/blog/Layout-di-Android