1. Fundamental Android
Application Development
Sidiq Permana (nouvrizky10)
CIO of Nusantara Beta Studio
Professional Android Application Trainner
Google Developer Expert and Intel Android Software Innovator
permana.sidiq@gmail.com
2. Konsep pengembangan aplikasi Android
⢠Kebutuhan pemahaman dasar dalam mengembangkan aplikasi
Android adalah :
⢠Pemahaman tentang Algoritma dan struktur data
⢠Pemahaman tentang Object Oriented Programming
⢠Pemahaman tentang Java Standard Edition Programming
⢠Pemahaman tentang penggunaan Android Studio dan Pemanfaatan Android
SDK dan API didalamnya
4. Referensi Utama
http://developer.android.com
⢠Android Application Development Guide
(http://developer.android.com/guide/index.html)
⢠Android Application Development Training
(http://developer.android.com/training/index.html)
⢠Buku : Professional Android 4 Application Development by Reto
Meier (PA4AD)
5. Pola Pikir Dasar Mengembangkan Aplikasi
Apapun platformnya konsep dasar dalam
mengembangkan aplikasi adalah Bagaimana
menampilkan informasi di layar, melakukan proses yang
dibutuhkan dan berpindah dari satu halaman ke
halaman lain dengan atau tanpa data
6. Komparasi antara Web App Dev dengan
Android App Dev
Komponen Web Android
Halaman Page Activity dan Fragment
UI komponen HTML, CSS XML
Logic PHP, ASP, JSP, RUBY etc Java
Berpindah halaman dengan Tag <a href></a> Intent
7. Activity
⢠Activity adalah Komponen android yang menyediakan tampilan didalam sebuah
aplikasi dimana pengguna akan berinteraksi dengannya. Misal layar list chat pada
aplikasi whatsapp android, user timeline yang ada di aplikasi twitter dan facebook
anda, layar inbox pada aplikasi gmail anda dan lain sebagainya.
⢠Setiap class Java dinyatakan sebagai sebuah Activity jika class tersebut meng-
extends pada class Activity
⢠Activity umumnya memiliki sebuah tampilan dalam format layout .xml
⢠Activity memiliki lifecycle di memory dimana para developer android harus peduli
dan tau kapan sebuah Activity diciptakan (create) hingga dimatikan (destroy) dari
memory
⢠Setiap Activity yang dimiliki dan akan digunakan di aplikasi harus di registrasikan
di file AndroidManifest.xml
⢠Activity menganut konsep Stack : Last in First Out (LIFO)
9. Last in First Out Stack pada Activity
⢠Activity menggunakan konsep Stack Last in First Out yang mana setiap
activity yang terakhir diciptakan atau ditampilkan dilayar akan keluar
pertama kali dari stack jika :
⢠Pengguna menekan tombol physical back button
⢠Back button pada Action Bar Aplikasi
10. Intent
⢠Intent adalah mekanisme untuk melakukan Action pada komponen
aplikasi lain. Pemanfaatannya sebagai berikut :
⢠Untuk berpindah halaman dari satu Activity ke Activity lain dengan atau tanpa
data
⢠Untuk menjalankan background Service misal dibutuhkan sebuah proses
service untuk mengambil lokasi pengguna, download file atau sikronisasi ke
server
⢠Untuk menyampaikan sebuah objek dari komponen Broadcast misal jika ingin
mengetahui jika device Android sudah selesai booting setelah diaktifkan
11. Tipe-tipe Intent
⢠Explicit Intent
⢠Untuk mengaktifkan komponen-komponen dalam satu aplikasi yang sama
misal : Berpindah Activity atau mengaktifkan service untuk mendownload file
secara background
⢠Implicit Intent
⢠Untuk mengaktikan komponen dari aplikasi lain. Misal : mengaktifkan dial
phone pada aplikasi Telp, mengaktifkan driving direction pada Google Maps
atau mengirimkan pesan via Gmail, sms atau aplikasi lainnya.
12. Ilustrasi umum
Ilustrasi bagaimana Intent mengaktifkan Activity pada aplikasi lain. 1. Activity A membuat Intent untuk
melakukan sebuah Action dengan data object yang ada. 2. Sistem Android akan mencari aplikasi yang cocok
Berdasarkan Intent filter yang ada dan 3. Activity pada aplikasi yang cocok akan ditampilkan.
Baca lebih lanjut :
http://developer.android.com/guide/
components/intents-filters.html
PA4AD : Page 166 â 172
13. AndroidManifest.xml dan Gradle (Module
app)
⢠File yang akan mengontrol semua komponen, level SDK dan
permission yang ada di aplikasi
⢠File yang akan mengontrol semua dependency library yang digunakan
oleh Aplikasi
14. Fragments
⢠Fragment adalah bagian user interface dalam sebuah Activity.
⢠Fragment menjadi sebuah tampilan UI dalam Android dipecah-pecah menjadi
kecil-kecil dan bisa mempermudah untuk digunakan ulang (reusable)
⢠Satu Activity dalam sebuah aplikasi Android dapat menampung lebih dari 1
fragment.
⢠Tidak seperti Activity, fragment tidak perlu diregistrasikan di file
AndroidManifest.xml cukup dengan menggunakan fragment transaction
⢠Satu class Java dinyatan sebuah fragment jika class tersebut meng-extends dari
class Fragment
⢠Sama dengan Activity, Fragment juga memiliki Lifecycle
⢠Analogi yang paling mendekati fragment adalah komponen Frame pada
pengembangan aplikasi berbasis Web
15. Fragment Lifecycle
⢠onCreate() : method yang pertama kali dieksekusi ketika fragment diciptakan.
Inisiasikan library yang akan digunakan disini
⢠onCreateView() : method yang digunakan untuk melakukan inflate User
Interface menggunakan layout xml
⢠onPause() : method ini dieksekusi ketika user meninggalkan fragment tapi
dengan artian fragment tidak dalam posisi dihancurkan (onDestroy()) contohnya
ketika user menerima panggilan telp
⢠onActivityCreated() : method ini ketika method onCreate() pada Activity yang
ditempeli dieksekusi dengan artian ketika Activity diciptakan secara otomatis
fragment yang menempel akan diciptakn pula. Letakan kode terkait logik disini.
16. Contoh Implementasi Fragment
Penggunaan fragment banyak diimplementasikan pada aplikasi-aplikasi yang membutuhkan flexibilitas
pada tampilan misal pada aplikasi berita. Dengan menggunakan Fragment proses perubahan pada tampilan landscape
di layar tablet yang besar akan lebih proposional dan akan menyesuaikan jika berubah ke tampilan portrait
pada layar smartphone umum.
Baca lebih lanjut :
http://developer.android.com/guide/
components/fragments.html
PA4AD : 114 - 126
17. Contoh Lain Implementasi Fragment : Sliding Tab
UI (Kombinasi ViewPager, TabLayout dan
Fragment)
18. Tips dan Trik Pemrograman Android
⢠Penulisan kode dengan memanfaatkan code assistant pada Android
Studio
⢠Sering-sering memanfaatkan Ctrl (tahan) + Space
⢠Rajin baca referensi, blogs dan online tutorials
⢠Rajin latihan bikin aplikasi Android