Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Presentasi materi pemrogaman mobile 2 pertemuan ke 3

Presentasi serupa


Presentasi berjudul: "Presentasi materi pemrogaman mobile 2 pertemuan ke 3"— Transcript presentasi:

1 Presentasi materi pemrogaman mobile 2 pertemuan ke 3
Nama anggota : andian Ramadhan Hanif Hadyan S Aprilianto Aji nugroho Kukuh sugiarto Denny Octavian Anfada

2 1. Komponen Aplikasi Android
Deskripsi Activities Suatu komponen yang mengendalikan User Interface dan menangani interaksi pengguna ke layar smart phone. Services Suatu komponen yang menangani proses di background yang terhubung dengan aplikasi. Broadcast Receivers Suatu komponen yang menangani komunikasi antara Sistem Operasi Android dengan aplikasi. Content Providers Suatu komponen yang menangani data dan masalah manajemen basis data.

3 Komponen Tambahan Ada beberapa komponen tambahan yang akan digunakan dalam pembuatan 4 komponen utama di atas, komponen-komponen itu adalah: Komponen Deskripsi Fragments Merepresentasikan sebuah porsi dari User Interface dalam sebuah Activity. Views Elemen User Interface yang digambar pada layar seperti tombol, list, formulir, dan lain lain. Layouts Hierarki dari view yang mengontrol format layar dan tampilan dari view. Intents Objek pesan yang dapat digunakan untuk meminta aksi dari komponen aplikasi lain. Resources Elemen eksternal, seperti: string, konstanta dan gambar. Manifest File Konfigurasi untuk aplikasi.

4 2. Hyrarchy of screen elements
Hirarki adalah alat yang paling mudah untuk memahami masalah yang kompleks dimana masalah tersebut diuraikan ke dalam elemen-elemen yang bersangkutan, menyusun elemen-elemen tersebut secara hirarkis dan akhirnya melakukan penilaian atas elemen-elemen tersebut sekaligus menentukan keputusan mana yang akan diambil. Proses penyusunan elemen-elemen secara hirarkis meliputi pengelompokan elemen-elemen dalam komponen yang sifatnya homogen dan menyusun komponen- komponen tersebut dalam level hirarki yang tepat.Hirarki juga merupakan abstraksi struktur suatu sistem yang mempelajari fungsi interaksi antara komponen dan juga dampak-dampaknya pada sistem

5 3. Proses dan Thread Bila komponen aplikasi dimulai dan tidak ada komponen aplikasi lain yang berjalan, sistem Android akan memulai proses Linux baru untuk aplikasi dengan satu thread eksekusi. Secara default, semua komponen aplikasi yang sama berjalan dalam proses dan thread yang sama (disebut thread "utama"). Jika komponen aplikasi dimulai dan sudah ada proses untuk aplikasi itu (karena komponen lain dari aplikasi itu sudah ada), maka komponen akan dimulai dalam proses itu dan menggunakan thread eksekusi yang sama. Akan tetapi, Anda bisa mengatur komponen berbeda di aplikasi agar berjalan di proses terpisah, dan Anda bisa membuat thread tambahan untuk setiap proses.

6 A. 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. Entri manifes untuk setiap tipe elemen komponen—<activity>, <service>, <receiver>, dan <provider>—mendukung atribut android:process yang bisa menetapkan dalam proses mana komponen harus dijalankan. Anda bisa mengatur atribut ini agar setiap komponen berjalan dalam prosesnya sendiri atau agar beberapa komponen menggunakan proses yang sama sementara yang lainnya tidak. Anda juga bisa menyetel android:process agar komponen aplikasi yang berbeda berjalan dalam proses yang sama —sepanjang aplikasi menggunakan ID pengguna Linux yang sama dan ditandatangani dengan sertifikat yang sama.

7 Elemen <application> juga mendukung atribut android:process, untuk menyetel nilai default yang berlaku bagi semua komponen. Android bisa memutuskan untuk mematikan proses pada waktu tertentu, bila memori tinggal sedikit dan diperlukan oleh proses lain yang lebih mendesak untuk melayani pengguna. Komponen aplikasi yang berjalan dalam proses yang dimatikan maka sebagai konsekuensinya juga akan dimusnahkan. Proses dimulai kembali untuk komponen itu bila ada lagi pekerjaan untuk mereka lakukan. Saat memutuskan proses yang akan dimatikan, sistem Android akan mempertimbangkan kepentingan relatifnya bagi pengguna. Misalnya, sistem lebih mudah menghentikan proses yang menjadi host aktivitas yang tidak lagi terlihat di layar, dibandingkan dengan proses yang menjadi host aktivitas yang terlihat. Karena itu, keputusan untuk menghentikan proses bergantung pada status komponen yang berjalan dalam proses tersebut. Aturan yang digunakan untuk menentukan proses yang akan dihentikan dibahas di bawah ini.

8 B. 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.

9 Misalnya saat pengguna menyentuh tombol pada layar, thread UI aplikasi akan mengirim kejadian sentuh ke widget, yang selanjutnya menetapkan status ditekan dan mengeposkan permintaan yang tidak divalidasi ke antrean kejadian. Thread UI akan menghapus antrean permintaan dan memberi tahu widget bahwa widget harus menggambar dirinya sendiri. Saat aplikasi melakukan pekerjaan intensif sebagai respons terhadap interaksi pengguna, model thread tunggal ini bisa menghasilkan kinerja yang buruk kecuali jika Anda mengimplementasikan aplikasi dengan benar. Khususnya jika semua terjadi di thread UI, melakukan operasi yang panjang seperti akses ke jaringan atau kueri database akan memblokir seluruh UI. Bila thread diblokir, tidak ada kejadian yang bisa dikirim, termasuk kejadian menggambar. Dari sudut pandang pengguna, aplikasi seperti hang atau mogok. Lebih buruk lagi, jika thread UI diblokir selama lebih dari beberapa detik (saat ini sekitar 5 detik) pengguna akan ditampilkan dialog "aplikasi tidak merespons" (ANR) yang populer karena reputasi buruknya. Pengguna nanti bisa memutuskan untuk keluar dari aplikasi dan mencopot pemasangan aplikasi jika mereka tidak suka. Selain itu, toolkit Android UI bukan thread-safe. Jadi, Anda tidak harus memanipulasi UI dari thread pekerja—Anda harus melakukan semua manipulasi pada antarmuka pengguna dari thread UI. Sehingga hanya ada dua aturan untuk model thread tunggal Android: 1. Jangan memblokir thread UI 2. Jangan mengakses toolkit Android UI dari luar thread UI

10 4. Siklus hidup activity

11 Penjelasannya: •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 system •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 •onRestart() Method ini dipanggil ketika acitivity dijalankan kembali setelah state Stop •onDestroy() Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori Pada state di atas, kita bebas mendefenisikan method-method terkait seperti contoh pada state start, kita dapat mendefenisikan suatu Splash screen sehingga saat aplikasi baru dimulai, akan menampilkan suatu gambar terlebih dahulu disertai dengan musik lalu masuk ke aplikasi utama. Siklus di atas pun berlangsung terus menerus hingga aplikasi atau activity akhirnya di terminasi.

12 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. Jika kalian masih bingung dengan konsep kelas dan keturunan (inherintance), sebaiknya kalian belajar mengenai bahasa pemograman Java terlebih dahulu karena sesungguhnya pemograman Android berangkat dari bahasa pemograman Java. Berikut ilustrasi di dalam kode pemograman 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 .Berikut penjelasan pada masing-masing state :

13 5. Project Structure Secara default, Android Studio akan menampilkan file proyek Anda dalam tampilan proyek Android, seperti yang ditampilkan dalam gambar 1. Tampilan disusun berdasarkan modul untuk memberikan akses cepat ke file sumber utama proyek Anda. Semua file versi terlihat di bagian atas di bawah Gradle Scripts dan masing-masing modul aplikasi berisi folder berikut: manifests: Berisi file AndroidManifest.xml. java: Berisi file kode sumber Java, termasuk kode pengujian JUnit. res: Berisi semua sumber daya bukan kode, seperti tata letak XML, string UI, dan gambar bitmap.

14

15 Anda juga bisa menyesuaikan tampilan file proyek untuk berfokus pada aspek tertentu dari pengembangan aplikasi Anda. Misalnya, memilih tampilan Problems dari tampilan proyek Anda akan menampilkan tautan ke file sumber yang berisi kesalahan pengkodean dan sintaks yang dikenal, misalnya tag penutup elemen XML tidak ada dalam file tata letak.

16 6. Struktur xml Android menyediakan sebuah kosakata XML sederhana yang sesuai dengan kelas dan subkelas View, seperti halnya untuk widget dan layout. Anda bisa mendeklarasikan layout default aplikasi Anda dalam XML, termasuk elemen-elemen layar yang akan muncul di dalamnya dan di propertinya. Keuntungan mendeklarasikan UI dalam XML adalah karena hal ini memungkinkan Anda memisahkan penampilan aplikasi dari kode yang mengontrol perilakunya dengan lebih baik. Keterangan UI Anda bersifat eksternal bagi kode aplikasi Anda, yang berarti bahwa Anda bisa memodifikasi atau menyesuaikannya tanpa harus memodifikasi dan mengompilasi ulang kode sumber. Misalnya, Anda bisa membuat layout XML untuk berbagai orientasi layar, berbagai ukuran layar perangkat, dan berbagai bahasa. Selain itu, mendeklarasikan layout dalam XML akan mempermudah Anda memvisualisasikan struktur UI, sehingga lebih mudah men-debug masalahnya.

17 CONTOH KODING : Setelah Anda mendeklarasikan layout dalam XML, simpanlah file dengan ekstensi .xml, dalam direktori res/layout/ proyek Android, sehingga nanti bisa dikompilasi dengan benar.

18 7. Jenis – jenis layout LinearLayout
Layout yang menampilkan elemen view dengan linear misalnya vertikal atau horizontal.

19 RelativeLayout Layout yang dapat menampilkan elemen secara relatif yang artinya elemen- elemen tersebut dapat diletakan dimana saja didalam layout tersebut.

20 TableLayout Layout yang menampilkan elemen berdasarkan baris dan kolom, penggunaannya sama persis dengan pembuatan tabel di HTML. GridView Layout yang sering digunakan untuk membuat sebuah galeri foto atau folder.

21 8. Mendesain User Interface / Layout
Pertama buka Android Studio lalu buatlah project baru. Lalu akan muncul tampilan awal seperti dibawah ini :

22 Lalu klik tab .xml untuk melakukan edit layout
Keterangan : a. Palette: Menyediakan daftar widget dan layout yang bisa Anda seret ke dalam layout di editor. b. Component Tree: Menampilkan hierarki tampilan untuk layout Anda. Klik sebuah item di sini untuk melihatnya dipilih dalam editor. c. Toolbar: Menyediakan tombol untuk mengonfigurasi penampilan layout di editor dan untuk mengedit properti layout. d. Design Editor: Menampilkan layout Anda bersama tampilan Design dan Blueprint. e. Properties: Menyediakan kontrol properti untuk tampilan yang dipilih saat ini. - Untuk menambahkan elemen bisa lakukan drag dari menu Palette. - Klik tab text yang berada di kiri bawah untuk editing layout menggunakan script. - Untuk menambahkan layout baru klik kanan tab project lalu klik New->XML->Layout XML File. Isikan Layout File Name sesuai dengan yang kalian inginkan dan isikan Root Tag dengan jenis-jenis layout yang tadi sudah dijelaskan.

23 9. 9. Android UI Control (TextView, EditText,Button,Spinner,Chekbox,RadioButton)
Berikut adalah daftar beberapa kontrol umum yang bisa Anda gunakan dalam aplikasi. Ikuti tautan ini untuk mengetahui selengkapnya tentang penggunaannya masing-masing. Catatan: Android menyediakan beberapa kontrol lain yang tidak tercantum di sini. Jelajahi paket android.widget untuk mengetahui selengkapnya. Jika aplikasi Anda memerlukan semacam kontrol masukan tertentu, Anda bisa membangun komponen khusus sendiri. TextView adalah salah satu widget yang berfungsi menampilkan dan mengkustomisasi sebuah text ,baik itu kata atau kalimat ,paragraf dll,yang digunakan untuk pengembangan Aplikasi Android.

24

25 Bentuk dari UI controlnya :

26 10. Contoh programnya UI Control dalam aplikasi
A. Contoh Spinner Tampilan Output : Pertama pilih spinner di menu pallets Atau ketik koding seperti ini pada activity_main.xml

27 Setelah menuliskan koding tulis pilihan yang akan di masukan pada spinner pada strings.xml
Masukan kodingke strings.xml seperti ini : Setelah selesai coba run program nanti akan muncul seprti outputnya


Download ppt "Presentasi materi pemrogaman mobile 2 pertemuan ke 3"

Presentasi serupa


Iklan oleh Google