PEMROGRAMAN MOBILE 1 PERTEMUAN 3 Komponen Aplikasi Android
PEMROGRAMAN MOBILE 1 (PERTEMUAN 3) Komponen Aplikasi Android
KELOMPOK 5 ● ● ● Charir Maulana Achsan 16. 11. 0217 Bagus Anjas P 16. 11. 0221 Mustofa Bayu Rahmat 16. 11. 0245 Esa Rizki Anandrian 16. 11. 0248 Danang Aldy Kurniawan 16. 11. 0267 Tri Wahyono 16. 11. 0284 ● ● ● Sarif Hidayatulloh 16. 11. 0286 Muchamad Arief Sidik 16. 11. 0296 Adent Bima Prasetya 16. 11. 0301 Dhimas Galih Prasetyo 16. 11. 0308 Eva Faiza 16. 11. 0317 Ikhsan Setiawan 16. 11. 0344 2
Komponen Aplikasi ● Komponen aplikasi adalah blok pembangun penting dari aplikasi Android. Setiap komponen merupakan titik berbeda yang digunakan sistem untuk memasuki aplikasi Anda. Tidak semua komponen merupakan titik masuk sebenarnya bagi pengguna dan sebagian saling bergantung, namun masing komponen ada sebagai kesatuan sendiri dan memainkan peran tertentu—masing-masing merupakan blok pembangun unik yang mendefinisikan perilaku aplikasi secara keseluruhan. 3
4 Komponen Aplikasi Android Activity Services Broadcast Receiver Content Provider Suatu komponen yang mengendalikan User Interface dan menangani interaksi pengguna ke layar smart phone. Suatu komponen yang menangani proses di background yang terhubung dengan aplikasi. Suatu komponen yang menangani komunikasi antara Sistem Operasi Android dengan aplikasi. Suatu komponen yang menangani data dan masalah manajemen basis data. A S B C 4
Elemen-elemen antarmuka pengguna di dalam aplikasi android dibangung menggunakan objek view dan view group. Hirarki Elemen Layar • View. Group yaitu layout yang bisa dijadikan parent atau induk yang didalamnya ada banyak view atau view. Grup lainnya. Layout View. Group diantaranya adalah: Grid. Layout, Linear. Layout (vertical dan horizontal), Relative. Layout, Frame. Layout, Table. Layout • View yaitu layout yang hanya bisa dijadikan child dan tidak bisa dijadikan parent/induk. Objek yang berada pada layar dan bisa berinteraksi dengan penggunanya Layout View diantaranya adalah: Form. Widget, Text. Fields, Composite, Image. View Dll
Service Komponen Services berjalan secara background untuk mela yani proses yang membutuhkan waktu lama tanpa mengganggu interaksi dengan user. Sebagai contoh, sebuah Services memungkinkan memutar lagu secara background ketika user sedang menjalankan aplikasi yang berbeda atau sedang mengambil data dari jaringan tanpa mengganggu interaksi dengan user pada sebuah aktivitas. 6
Service Sebuah Services pada dasarnya dapat mengambil dua keadaan, yaitu ● Started, Sebuah Service mulai dijalankan ketika pada suatu komponen aplikasi, seperti activity memulai dengan memanggil start. Srvice(). sekali dijalankan, Sebuah service dapat berjalan secara background tanpa batas, bahkan jika komponen yang memulainya di matikan. ● Bound, Sebuah Service terikat apabila komponen aplikasi mengikat dengan memanggil bind. Service(). Sebuah service terikat memberikan antarmuka clientserver yang memungkinkan komponen untuk berinteraksi dengan service, mengirim permintaan, mendapatkan hasil, dan bahkan melakukannya lintasproses dengan interprocess communication (IPC). 7
Activity dalah sebuah komponen aplikasi yang menyediakan layar yang digunakan pengguna untuk berinteraksi guna melakukan sesuatu, misalnya memilih nomor ponsel, mengambil foto, mengirim email, atau menampilkan peta. Tiap aktivitas diberi sebuah jendela untuk menggambar antarmuka penggunanya. Jendela ini biasanya mengisi layar, namun mungkin lebih kecil daripada layar dan mengambang di atas jendela lain. 8
“ LIFE CYCLE ACTIVITY ANDROID • on. Create() adalah kondisi awal saat Activity baru diciptakan, biasanya dilakukan inisialisasi pada tahapan ini. • on. Start() adalah saat Activity dimulai • on. Resume() adalah saat Activity dibuka kembali, biasanya dieksekusi setelah on. Pause() • on. Pause() akan dipanggil saat ada Activity lain yang terbuka. • on. Stop() adalah kondisi saat Activity tidak ditampilkan dilayar (biasanya saat pengguna menekan tombol Home). • on. Restart() adalah kondisi saat Activity kembali dibuka oleh pengguna. • on. Destroy() adalah kondisi saat Activity dihancurkan pada memori. 9
Package ● package adalah kumpulan dari Java classes, ke dalam kategori/namespaces tertentu. ● Package dalam aplikasi Android biasanya ditulis dalam bentuk seperti contoh : com. gameloft. uno. ● Nama com. gameloft. uno, berarti kelas-kelas Java di aplikasi tersebut secara hierarki berada di dalam tiga buah tingkatan folder, yaitu folder uno, yang berada di dalam folder gameloft, yang berada lagi di dalam folder com. 10
PROJECT STRUCTUR Sebuah proyek dalam Android Studio berisi segala sesuatu yang mendefinisikan workspace Anda untuk aplikasi, dari kode sumber dan aset, hingga kode pengujian dan konfigurasi pembangunan. Tampilan proyek Android menunjukkan semua file build yang menyusun aplikasi android yang Anda buat. Setiap modul proyek muncul sebagai folder di tingkat atas hirarki proyek dan berisi ketiga elemen ini. 11
Penjelasan Dalam setiap modul aplikasi Android, file ditampilkan dalam grup-grup berikut: • manifests Berisi file Android. Manifest. xml. • java Berisi file kode sumber Java, dipisahkan oleh nama paket, termasuk kode pengujian JUnit. • res Berisi semua sumber daya bukan kode, seperti layout XML, string UI, dan gambar bitmap, yang dibagi ke dalam beberapa sub-direktorinya. Untuk informasi selengkapnya tentang semua tipe sumber daya yang memungkinkan, lihat Menyediakan Sumber Daya. Tampilan Proyek Androi 12
Penjelasan • Folder build/ Berisi keluaran pembangunan. • Folder libs/ Berisi pustaka privat. • Forlder src/ Berisi semua file sumber daya dan kode untuk modul dalam subdirektori berikut: • android. Test/ Berisi kode untuk pengujian instrumentasi yang dijalankan pada perangkat Android. Untuk informasi selengkapnya, lihat dokumentasi Pengujian Android. • main/ Berisi file sourceset "main": sumber daya dan kode Android yang digunakan bersama oleh semua varian pembangunan (file untuk varian pembangunan lainnya berada dalam direktori saudara, misalnya src/debug/ untuk tipe pembangunan versi debug). : 13
• Android. Manifest. xml • Menjelaskan sifat aplikasi dan masing-masing komponennya. Untuk informasi s Selengkapnya, lihat dokumentasi Android. Manifest. xml. • java/ • Berisi sumber kode Java. • jni/ • Berisi kode asli yang menggunakan Java Native Interface (JNI). Untuk informasi selengkapnya, lihat dokumentasi Android NDK. • gen/ • Berisi file Java yang dihasilkan oleh Android Studio, misalnya file R. java Anda dan antarmuka yang dibuat dari file AIDL. • res/ • Berisi sumber daya aplikasi, misalnya file yang dapat digambar, file layout, dan string UI. Lihat Sumber Daya Aplikasi untuk informasi selengkapnya. • assets/ • Berisi file yang harus dikompilasi menjadi file. apk apa adanya. Anda bisa menyusuri direktori ini dengan cara yang sama seperti pada sistem file umumnya dengan menggunakan URI dan membaca file sebagai aliran byte dengan menggunakan Asset. Manager. Misalnya, inilah lokasi yang bagus untuk data game dan tekstur. 14
• test/ Berisi kode untuk pengujian lokal yang dijalankan pada JVM host Anda. • build. gradle (modul) Ini mendefinisikan konfigurasi pembangunan khusus modul. • build. gradle (proyek) Ini mendefinisikan konfigurasi pembangunan Anda yang berlaku pada semua modul. File ini integral pada proyek, jadi Anda harus menyimpannya dalam kontrol revisi bersama semua kode sumber lainnya. 15
File Manifest ● Setiap aplikasi harus memiliki file Android. Manifest. xml (bernama persis seperti ini) di direktori akar. File manifes menyediakan informasi penting tentang aplikasi ke sistem Android, yang harus dimiliki sistem agar bisa menjalankan setiap kode aplikasi. 16
Fungsi File Manifest ● Memberi nama paket Java untuk aplikasi yang dibuat ● Menginformasikan versi SDK yang digunakan pada aplikasi ● Memberi akses permission untuk fitur - fitur yang digunakan pada aplikasi ● Menerjemahkan string label yang digunakan pada aplikasi ● Inisialisasi dukungan layar perangkat ● Mendeskripsikan komponen - komponen aplikasi seperti aktivitas, servis, intent dan lain - lain ● Mendaftarkan library yang digunakan untuk aplikasi ● dan lain sebagainya 17
Contoh File Manifest 18
STRUKTUR XML E(X)tensible Markup Language (XML) adalah seperangkat aturan untuk mengkodekan dokumen dalam bentuk yang dapat dibaca oleh mesin. XML adalah format populer untuk sharing data di internet. <? xml version="1. 0" encoding="ISO-8859 -1"? > <bus> <nopol>AA 1987 CC</nopol> <po>Sumber Makmur</po> </bus>
Bagian-bagian dokumen XML Bagian-Bagian dari Dokumen XML Root node yaitu node yang melingkupi keseluruhan dokumen. Dalam satu dokumen XML hanya ada satu 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. Root node biasa juga disebut root element Attribute note termasuk nama dan nilai atribut ditulis pada tag awal sebuah elemen atau pada tag tunggal. Text node, adalah text yang merupakan isi dari sebuah elemen, ditulis diantara tag pembuka dan tag penutup 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 ? >. Name. Space Node , node ini mewakili deklarasi namespace 20
LAYOUT UI ANDROID Layout adalah sebuah struktur visual yang digunakan untuk antarmuka pengguna. pada Andoid Studio ada 4 Layout yaitu: • • Relative Layout Linier Layout Table Layout Frame Layout
RELATIVE LAYOUT ● Relative Layout adalah layout yang menampilkan elemen-elemen yang saling berhubungan. 22
LINEAR LAYOUT ● Linear Layout Adalah jenis layout yang mengatur child element (contoh : Text. View, Button, Check. Box, dll) ke dalam suatu baris horizontal ataupun vertikal. 23
TABLE LAYOUT ● Table Layout adalah layout sederhana yang nantinya posisi dari komponen-komponennya otomatis tertata seperti layaknya tabel pada umumnya. 24
FRAME LAYOUT ● Layout ini adalah layout yang paling sederhana. Layout ini akan membuat komponen yang ada didalamnya menjadi menumpuk atau saling menutupi satu dengan yang lainnya (layering). 25
LAYOUT EDITOR 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. Place your screenshot here 26
Widget , Text View dan Button ● Widget yang berfungsi menampilkan dan menambah content Palette ke dalam layout design digunakan untuk menambah fitur Aplikasi Android. ● Text. View adalah satu ● widget yang berfungsi menampilkan dan mengkustomisasi sebuah text , baik itu kata atau kalimat , paragraf dll, yang digunakan untuk pengembangan Aplikasi Android. Button atau Tombol, salah satu komponen sebuah interface yang sering digunakan. Dengan sebuah Button pengguna dapat memerintahkan aplikasi untuk melakukan aksi yang telah ditentukan. 27
Toast ● Toast memberikan sebuah feedback berupat infromasi yang berbentuk text kecil tentang operasi yang telah dilakukan oleh user 28
Menjalankan aplikasi pada virtual dan pyshical device 29
LANGKAH-LANGKAH VIRTUAL DEVICE • • • Buka project pada Android Studio Klik icon run yang berada di kanan atas pada bagian Android Studio atau bias dengan klik Tools – AVD Manager Klik Create New Virtual Device Pilih Smartphone sesuai keinginan, contoh Nexus 5 X Pilih Versi Sistem Operasi Android yang diinginkan, contoh Oreo 8. 0 (API 26) Pilih Orientasi Layar Potrait atau Landscap saat memulai emulator, lalu klik Finnish 30
LANGKAH-LANGKAH PSYHICAL DEVICE • • • Pastikan USB Debugging pada HP Android sudah diaktifkan (Tap 7 x pada Build Number di bagian Setting) Instal Driver HP Android di PC/Laptop Hubungkan HP Android ke Laptop/PC via kabel USB Klik icon run yang berada di kanan atas pada bagian Android Studio, Lalu pilih device yg sudah terkoneksi, lalu klik OK Contoh: 31
Referensi ● ● ● https: //developer. android. com/guide/components/activities. html? hl=id ● ● ● https: //developer. android. com/guide/topics/ui/notifiers/toasts. html https: //developer. android. com/guide/topics/manifest-intro. html? hl=id https: //developer. android. com/guide/components/index. html? hl=id https: //developer. android. com/guide/topics/ui/declaring-layout. html https: //codefordroid. blogspot. co. id/2017/02/mengenal-textview-pada-androidstudio. html https: //developer. android. com/studio/write/layout-editor. html? hl=id https: //developer. android. com/guide/components/services. html? hl=id https: //developer. android. com/studio/projects/index. html? hl=id https: //www. twoh. co/2012/08/30/penamaan-package-aplikasi-yang-disarankanuntuk-aplikasi-android-buatan-indonesia/ 32
Thanks! Any questions? 33
- Slides: 33