PMO Pertemuan 2 Komponen Aplikasi Android

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 :

  1. 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.

  1. 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.

  1. 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.

  1. GridView

GridView adalah layout grid yang digunakan untuk membuat tampilan yang tersusun dengan bentuk rectangle dan bias digunakan untuk membuat tampilan utama aplikasi.

  1. 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 :

  1. Procedural

Dibuat menggunakan kode java. Caranya langsung menulis coding kedalam MainActivity.

  1. Declarative

Dibuat dengan menggunakan kode XML.

  1. 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 IDprogram counterregister 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
}
}

download file presentasi

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

https://developer.android.com