PMO Pertemuan 3 : Komponen Aplikasi Android

Komponen APLIKASI ANDROID

Komponen aplikasi adalah bagian penting dari sebuah aplikasi Android. Komponen ini harus terhubung dengan AndroidManifest.xml file yang menggambarkan setiap komponen dari aplikasi dan bagaimana mereka berinteraksi.

Ada empat komponen utama yang dapat digunakan dalam aplikasi Android:

Activity Untuk menampilkan antarmuka aplikasi.
Service Untuk menjalankan proses aplikasi di belakang layar.
Broadcast Receiver Untuk komunikasi antar activity, aplikasi dan antar device.
Content Provider Untuk manajemen data dan database.

 

Komponen Tambahan :

Komponen Deskripsi
Fragment Merupakan bagian dari antarmuka pengguna dalam Activity seperti tampilan tab atau pager
View Tampilan UI yang dimuat di layar seperti tombol, list, gambar dan lain-lain.
Layout Mengontrol sebuah View dengan melihatnya sebagai hirarki.
Intent Mengirim atau menerima sebuah perintah dari aplikasi lain.
Resource Element yang dibutuhkan secara visual seperti teks aplikasi (string), gambar, dan lain-lain.
Manifes Konfigurasi dari sebuah aplikasi.

 

HYRARCHY OF SCREEN ELEMENTS

Secara visual, jendela Android adalah hierarki tampilan, yang merupakan objek yang

berasal dari kelas View dan ViewGroup.

1.View adalah kelas dasar untuk subkelas android.widget, yang memberi instantiate objek UI sepenuhnya-diimplementasikan. Misalnya, Button adalah subclass dari View.

2.ViewGroup adalah kelas dasar untuk subclass “layout”, yang menerapkan berbagai jenis arsitektur tata letak UI. (ViewGroup adalah bentuk khusus Tampilan yang dapat berisi Tampilan lainnya.)

Misalnya,

  • Class LinearLayout , yang menerapkan tata letak yang mengatur anak-anaknya dalam satu kolom atau satu baris tunggal.
  • Class TableLayout, yang mengatur anak-anaknya dalam barisan dan kolom seperti meja.
  • Class RelativeLayout, dimana posisi anak dapat digambarkan relatif terhadap satu sama lain atau dengan orang tua.
  • Class FrameLayout, yang menghalangi area di layar untuk menampilkan satu item. Beberapa anak dapat ditambahkan ke FrameLayout dan semua anak akan dipatok di kiri atas layar (ini, misalnya, adalah cara untuk melapisi satu set tombol di atas gambar).
  • Kelas GridView, yang menampilkan item dalam grid bergulir dua dimensi.

 

PROSES THREAD

Proses

Secara Default, Semua Komponen Aplikasi Yang Sama Berjalan Dalam Proses Yang Sama Dan Kebanyakan Aplikasi Tidak Boleh Mengubah Ini. Akan Tetapi, Jika Anda Merasa Perlu Mengontrol Proses Milik Komponen Tertentu, Anda Dapat Melakukannya Dalam File Manifes.

Ada lima tingkatan dalam hierarki prioritas. Daftar berikut berisi beberapa tipe proses berdasarkan urutan prioritas (proses pertama adalah yang terpenting dan dimatikan terakhir):

1.Proses latar depan : Proses yang diperlukan untuk aktivitas yang sedang dilakukan pengguna.

2.Proses yang terlihat : Proses yang tidak memiliki komponen latar depan.

3.Proses layanan  : Proses yang menjalankan layanan yang telah dimulai dengan metode startService() dan tidak termasuk dalam salah satu dari dua kategori yang lebih tinggi.

4.Proses latar belakang : Proses yang menampung aktivitas yang saat ini tidak terlihat oleh pengguna (metode onStop() aktivitas telah dipanggil)

5.Proses kosong  : Sebuah proses yang tidak berisi komponen aplikasi aktif apa pun. Alasan satu-satunya mempertahankan proses seperti ini tetap hidup adalah untuk keperluan caching.

 

Thread

Bila Aplikasi Diluncurkan, Sistem Akan Membuat Thread Eksekusi Untuk Aplikasi Tersebut, Yang Diberi Nama, “Main”.

Thread Ini Sangat Penting Karena Bertugas Mengirim Kejadian Ke Widget Antarmuka Pengguna Yang Sesuai, Termasuk Kejadian Menggambar. Ini Juga Merupakan Thread Yang Membuat Aplikasi Berinteraksi Dengan Komponen Dari Toolkit Android UI (Komponen Dari Paket Android.Widget Dan Android.View). Karena Itu, Thread ‘Main’ Juga Terkadang Disebut Thread UI.

Sistem ini tidak membuat thread terpisah untuk setiap instance komponen. Semua komponen yang berjalan di proses yang sama akan dibuat instance-nya dalam thread UI, dan sistem akan memanggil setiap komponen yang dikirim dari thread itu. Akibatnya, metode yang merespons callback sistem (seperti onKeyDown() untuk melaporkan tindakan pengguna atau metode callback daur hidup) selalu berjalan di thread UI proses.

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.

 

Nama kelas yang kita inisiasi adalah StartingPoint yang berada dalam package bernama com.thenewboston.travis.  Package adalah suatu pembungkus atau suatu kemasan yang berisi banyak kelas-kelas. 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).

  • 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

 

 

PROJECT STRUCTURE

manifest

di dalamnya terdapat AndroidManifest.xml yang berisi informasi dasar app yang sedang dibuat seperti minimal android yang yang dibutuhkan, informasi activity, izin untuk akses internet, dll

– java

Berisi file java yang dipakai di app. Terdapat juga file java yang mengatur activity.

– res

Folder berisi resources yang dipakai di app. Di dalam folder ini terdapat sup-sub folder sebagai berikut:

– res/drawable

Folder untuk meletakkan file gambar atau file XML yang dipakai di app.

– res/layout

Berisi layout berformat XML untuk mengatur tampilan app.

– res/mipmap

Berisi gambar yang dipakai di app sebagai icon yang akan tampil di launcher.

– res/values

Berisi string.xml, color.xml, menu.xml, dll untuk keperluan app.

– gradle

Sebuah featured build automation. File Gradle berisi daftar library yang digunakan, versi aplikasi, lokasi repository dll. File yang akan sering kita ubah adalah file build.gradle.

 

STRUKTUR XML

Seperti yang telah kita ketahui pada tutorial sebelumnya bahwa struktur dasar XML terdiri dari beberapa elemen seperti root child dan subchild. Namun XML juga mempunyai bentuk atau struktur yang menyerupai bentuk sebuah pohon sehingga disebut struktur pohon atau Tree Struckture. Dan berikut ini adalah dalam bentuk struktur pohonnya :

Struktur Penulisan XML

Struktur Pohon XML

 

JENIS-JENIS LAYOUT

Layout adalah suatu tampilan tata letak di android studio untuk mengatur penempatan text/gambar yang sudah terkonsep.

Berikut jenis-jenis layout yang terdapat di Android :

  1. LinearLayout
  2. RelativeLayout
  3. TableLayout
  4. GridView
  5. TabLayout
  6. ListView

 

1. LinearLayout adalah layout yang menampilkan elemen-elemen view dengan arah linear, vertikal ataupun horizontal. Ini adalah layout paling sederhana di Android.

2. RelativeLayout adalah layout yang menampilkan elemen-elemen view dalam posisi yang relatif. Posisi dari sebuah view yang dapat diletakkan relatif terhadap posisi elemen view di sekitarnya atau relatif terhadap area layout utama. Sebuah desain tampilan aplikasi bisa dibuat lebih mudah dan sederhana menggunakan RelativeLayout dibandingkan dengan LinearLayout

 

3. TableLayout adalah layout yang menampilkan elemen view berdasarkan baris dan kolom. Bagi Anda yang telah mempelajari HTML, penggunaan TableLayout disini seperti penggunaan table di HTML yaitu dengan tag <table> dan <tr> serta <td>.

4. GridView adalah layout grid yang biasa digunakan untuk membuat galeri foto.

5. TabLayout adalah layout pada android dengan desain seperti tab.

6. ListView adalah jenis layout dengan tampilan list.

 

Mendesain user interface / layout

Di Layout Editor Android Studio, Anda Bisa Dengan Cepat Membangun Layout Dengan Menyeret Widget Ke Dalam Editor Desain Visual Sebagai Ganti Menulis XML Layout Secara Manual. Editor Ini Bisa Menampilkan Pratinjau Layout Anda Dalam Berbagai Versi Dan Perangkat Android, Dan Anda Secara Dinamis Bisa Mengubah Ukuran Layout Untuk Memastikannya Berfungsi Dengan Baik Pada Berbagai Ukuran Layar. Layout Editor Sangat Berguna Saat Membangun Layout Baru Dengan Constraintlayout—pengelola Layout Yang Disediakan Dalam Pustaka Dukungan Yang Kompatibel Dengan Android 2.3 (API Level 9) Dan Yang Lebih Tinggi.

 

Android UI control

 

Contoh programnya ui control dalam aplikasi

<Linearlayout Xmlns:android=http://Schemas.Android.Com/Apk/Res/Android

   android:layout_width=”fill_parent

   android:layout_height=”fill_parent

   android:orientation=”vertical“

   tools:context=“.UIandroid1” >

   <Textview

      android:id=“@+id/text_id

      android:layout_width=”wrap_content

      android:layout_height=”wrap_content

      android:text=”contoh Program User Interface” />

 <Button

        android:id=”@+id/button_send

        android:layout_width=”wrap_content

        android:layout_height=”wrap_content

        android:text=“Button”

</Linearlayout>

Download Powerpoint Komponen Aplikasi Android

 

Anggota Kelompok

1.Kukuh Prasetyo Adhi    (15.11.0307)

2.Warsito Aji    (15.11.0306)

3.Karima Dewi R    (15.11.0313)

4.Alfano Kurniawan W   (15.11.0316)

5.Bagus Nanda P  (15.11.0301)

6.Shisen Nugraha B  (15.11.0311)

Sumber

http://android-beginner-lessons.blogspot.co.id/2015/10/android-mengenal-komponen-aplikasi.htmlhttps://awesomedit.wordpress.com/2013/04/22/siklus-hidup-activity-android/https://medium.com/@kalifardy56/mengenal-jenis-layout-android-studio-335a63666ff7https://mobileacademycamp.wordpress.com/2016/02/15/struktur-project-pada-android-studio/http://bisakomputer.com/aturan-penulisan-sintaks-pada-dokumen-xml/http://eagle.phys.utk.edu/guidry/android/androidUserInterface.htmlhttps://developer.android.com/guide/topics/ui/controls.html?hl=idhttps://developer.android.com/guide/components/processes-and-threads.html?hl=idhttp://eagle.phys.utk.edu/guidry/android/androidUserInterface.htmlhttp://medyarizkadani.blogspot.co.id/2012/06/tutorial-xml-2-struktur-xml.html