PEMROGRAMAN MOBILE 2 Dina Murniati Putri NIM 15
PEMROGRAMAN MOBILE 2 • • • Dina Murniati Putri (NIM. 15. 11. 0292) Erlangga Putra Buana (NIM. 15. 11. 0294) Irvinda Yudha Febrian (NIM. 15. 11. 0295) Nugraga Dani Aji (NIM. 15. 11. 0290) Rahman Al Firous (NIM. 15. 11. 0285) Tegar Juniar Wibowo (NIM. 15. 11. 0291)
Komponen Aplikasi Android File yang menggambarkan setiap komponen dan bagaimana mereka berinteraksi. Activities Services Broadcast Receivers Content Providers http: //www. insinyoer. com/komponen-aplikasi-android/
Hierarki Element dalam Layar Unit dasar dari aplikasi android adalah activity, yaitu sebuah objek dari kelas android. app. Activity bisa melakukan banyak hal, tetapi dia sendiri tidak akan terlihat secara langsung dilayar. Untuk membuat activity terlihat di layar adalah dengan membuatkannya User Interface, dimana disini kita akan menggunakan viewgroups Unit dasar User Interface dalam platform Andorid. https: //text-id. 123 dok. com/document/oy 81 m 7 p 0 z-framework-aplikasi-hirarki-elemen-layar-resources-rjava. html
Proses Thread 1. Konsep Dasar Thread disebut juga sebagai proses ringan (lightweight) yang merupakan unit dasar dari utilitas CPU, yang mana didalamnya terdapat id thread, program counter, register, dan stuck. Thread saling berbagian program, bagian data, dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama disebut dengan multithreading. Dengan banyak control thread proses dapat melakukan lebih dari satu pekerjaan dalam waktu yang sama. 2. Multithreading Thread saling berbagian program, bagian data, dan sumber daya sistem operasi dengan thread lain yang mengacu pada proses yang sama disebut dengan multithreading. Keuntungan Multithreading : Responsive, Berbagi Sumber daya, Ekonomis, Utilisasi arsitektur multiprosesor. 3. Model Multithreading : Many to one, Many to many, one to one 4. Pustaka Thread Pustaka thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. http: //irfantek. blogspot. co. id/2015/12/makalah-proses-dan-thread. html
Siklus Hidup Activity
Siklus Hidup 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. Konsepnya adalah inheritance, yang mempunyai beberapa state method dalam kelas (class), berikut penjelasannya : � � � � on. Create() on. Start() on. Resume() (paused) (resume) on. Freeze() respon) on. Pause() on. Stop() on. Destry() on. Restart() : Dipanggil ketika activity pertama kali dibuat : Dipanggil ketika sebuah activity tampil ke pengguna : Dipanggil ketika activity diberhentikan sementara dan sebelum activity dijalankan kembali : Dipanggil ketika activity dalam keadaan freeze (not : : Dipanggil ketika activity dihentikan sementara ketika activity dihentikan sebelum activity dihancurkan ole sistem ketika activity dijalankan kembali https: //awesomedit. wordpress. com/2013/04/22/siklus-hidup-activity-android/
Project structure Tujuan dari memahami struktur project android adalah untuk mengetahui fungsi atau peran dari masing-masing struktur file tersebut. Sehingga nantinya akan memudahkan kita dalam mengdevelop aplikasi android secara lebih lanjut.
Ø Ø Ø 1. Main Project merupakan isi dari keseluruhan pembentuk aplikasi android yang kita create. Pada Gambar. 1 main projectnya adalah "Project. Baru". Sebuah project di Android Studio mirip dengan Workspace pada Eclipse. 2. . idea Folder. idea ini merupkan direktori setingan Intelli. J IDEA yang berisikan metada untuk project. 3. Project module (app) Folder Project module (app) merupakan folder aktual dari aplikasi android yang kita buat. Pada folder ini terdiri beberapa subdirektori : • Build : Folder build berisikan semua output dari module project yang kita buat • Libs : Kondisi default dari folder libs ini adalah kosong. Pada folder ini kita dapat menambahkan librari yang berbentuk file. jar. • Src : Pada folder src, terrdapat tiga subfolder yaitu : Android. Test, main dan test. Graddle : automation build toolkit yang mengelola dependcy dari project android yang kita buat. External libraries : Bagian ini menyatakan untuk librari yang diperlukan dalam mendukung pembuatan aplikasi android. https: //creatorbe. github. io/programming/android/2017/03/30/memahami-struktur-project-di-android-studio-creatorbe. html
Structure XML 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 Structure. Berikut ini adalah struktur pohonnya :
Structure XML Penulisan XML Implementasi http: //medyarizkadani. blogspot. co. id/2012/06/tutorial-xml-2 -struktur-xml. html
Jenis-jenis Layout adalah suatu tampilan tata letak di android studio untuk mengatur penempatan text/gambar yang sudah terkonsep. Layout adalah bagian terpenting untuk memperindah tampilan pada aplikasi yang kita buat. Dibagi menjadi 2: � Linear Layout Design tampilan pada aplikasi kita dengan tata letak secara vertical dan horizontal dimana tata letak aplikasi kita hanya bisa memasukan media secara mendatar dan menurun. � Relative Layout Design tampilan pada aplikasi kita dengan tata letak secara bebas tanpa aturan sesuai keinginan kita, tidak seperti Linear Layout yang hanya terpaku pada salah satu tampilan vertical dan horizontal.
Jenis-jenis Layout � Linear Layout � Relative Layout
Mendesain User Interface/Layout cara membuat Linear layout Vertical dan Horizontal pada android studio: kita buat project baru pada android studio dan beri nama project sesuai keinginan kita contoh nama project: ”Belajar Linear Layout”, jika belum tau membuat project di android studio bisa klik di sini. Berikut ini contoh sebagian script pada activity_main. xml. //contoh. Linear. Vertical <? xml version="1. 0" encoding="utf-8"? > <Linear. Layout xmlns: android="http: // schemas. android. com/apk/res/android" xmlns: app="http: //schemas. android. com/apk/ res-auto" xmlns: tools="http: //schemas. android. com/tools" android: layout_width="match_parent" android: layout_height="match_parent
Berikut hasil Relative Layout yang kita buat: Sumber: https: //medium. com/@kalifardy 56/me ngenal-jenis-layout-android-studio 335 a 63666 ff 7
Android UI Control Ada sejumlah kontrol UI yang disediakan oleh Android yang memungkinkan untuk membangun antarmuka pengguna untuk aplikasi. Berikut ini ada beberapa kontrol UI: 1. Text. View 2. Edit. Text 3. Button 4. Image. Button 5. Check. Box 6. Toggle. Button 7. Radio. Button 8. Radio. Group 9. Progress. Bar https: //www. tutorialspoint. com/android_user_interface_controls. htm
Contoh Program UI Control Dalam Aplikasi http: //www. okedroid. com/2016/01/cara-menerapkan-contoh-widget-switch-button-android. html
activity_main. xml � � � � � � � <? xml version="1. 0" encoding="utf-8"? > <Linear. Layout xmlns: android="http: //schemas. android. com/apk/res/ android" android: layout_width="match_parent" android: layout_height="match_parent" android: layout_margin="16 dp" android: gravity="center_horizontal" android: orientation="vertical"> <Text. View android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="Contoh Switch Button Android" /> <Switch android: id="@+id/switch. Button" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_margin. Top="50 dp" android: text="Android Switch Button 1" /> <Text. View android: id="@+id/text. View" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="Android Switch Button" /> � � � � � � <Switch android: id="@+id/switch. Button 2" android: layout_width="wrap_content" android: layout_height="wrap_content" android: layout_margin. Top="30 dp" android: text="Android Switch Button 2" /> <Text. View android: id="@+id/text. View 2" android: layout_width="wrap_content" android: layout_height="wrap_content" android: text="Android Switch Button" /> <Text. View android: layout_width="fill_parent" android: layout_height="fill_parent" android: gravity="center|bottom" android: text="okedroid. com" android: text. Size="24 sp" android: text. Style="bold" /> </Linear. Layout>
Main. Activity. java � package com. okedroid. myapplication; � � import android. os. Bundle; � import android. support. v 7. app. App. Compat. Activity; � import android. widget. Compound. Button; � import android. widget. Switch; � import android. widget. Text. View; � � � public class Main. Activity extends App. Compat. Activity { � � Switch switch. Button, switch. Button 2; � Text. View text. View, text. View 2; � String switch. On = "Switch is ON"; � String switch. Off = "Switch is OFF"; � � @Override � protected void on. Create(Bundle saved. Instance. State) { � super. on. Create(saved. Instance. State); � set. Content. View(R. layout. activity_main); � � // For first switch button � switch. Button = (Switch) find. View. By. Id(R. id. switch. Button); � text. View = (Text. View) find. View. By. Id(R. id. text. View); � � switch. Button. set. Checked(true); � � � switch. Button. set. On. Checked. Change. Listener(new. Compound. Button. On. Checked. Change. Listener( ) { @Override public void on. Checked. Changed(Compound. Button compound. Button, booleanb. Checked) { � if (b. Checked) { � text. View. set. Text(switch. On); � } else { � text. View. set. Text(switch. Off); � }); � � � � � � � � if (switch. Button. is. Checked()) { text. View. set. Text(switch. On); } else { text. View. set. Text(switch. Off); } // for second switch button switch. Button 2 = (Switch) find. View. By. Id(R. id. switch. B utton 2); text. View 2 = (Text. View) find. View. By. Id(R. id. text. View 2); switch. Button 2. set. Checked(false); switch. Button 2. set. On. Checked. Change. Listener(new. C ompound. Button. On. Checked. Change. Listener() { @Override public void on. Checked. Changed(Compound. Button compound. Button, booleanb. Checked) { if (b. Checked) { text. View 2. set. Text(switch. On); } else { text. View 2. set. Text(switch. Off); } }); if (switch. Button 2. is. Checked()) { text. View 2. set. Text(switch. On); } else { text. View 2. set. Text(switch. Off); } } }
- Slides: 18