SlideShare uma empresa Scribd logo
1 de 19
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
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
Tools yang dibutuhkan
• Android Studio (Stable build)
• Java SDK 8
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)
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
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
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)
Activity Lifecycle
Baca Lebih Lanjut :
http://developer.android.com/guide/
components/activities.html
PA4AD page 86 - 93
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
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
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.
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
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
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
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.
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
Contoh Lain Implementasi Fragment : Sliding Tab
UI (Kombinasi ViewPager, TabLayout dan
Fragment)
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
Thank You

Mais conteúdo relacionado

Mais procurados

Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)eltwordy
 
Seri 9 : Aplikasi gps dengan app inventor
Seri 9 : Aplikasi gps dengan app inventorSeri 9 : Aplikasi gps dengan app inventor
Seri 9 : Aplikasi gps dengan app inventorIki Mazadi
 
Pemrograman Mobile Android (Modul I)
Pemrograman Mobile Android (Modul I)Pemrograman Mobile Android (Modul I)
Pemrograman Mobile Android (Modul I)dikwan_moeis
 
Intro flutter dsc stimik tb
Intro flutter dsc stimik tbIntro flutter dsc stimik tb
Intro flutter dsc stimik tbalfinazilah
 
Pengenalan HTML5, Mobile Application, dan Intel XDK
Pengenalan HTML5, Mobile Application, dan Intel XDKPengenalan HTML5, Mobile Application, dan Intel XDK
Pengenalan HTML5, Mobile Application, dan Intel XDKMuhammad Yusuf
 
Seri 4 : Block Editor App Inventor
Seri 4 : Block Editor App InventorSeri 4 : Block Editor App Inventor
Seri 4 : Block Editor App InventorIki Mazadi
 
Pengenalan mit app inventor
Pengenalan mit app inventorPengenalan mit app inventor
Pengenalan mit app inventorakhmadalimudin
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android ProgrammingWirat Mojo
 
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorSeri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorIki Mazadi
 
Panduan Instalasi Android Studio
Panduan Instalasi Android StudioPanduan Instalasi Android Studio
Panduan Instalasi Android StudioAgus Haryanto
 
Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)dikwan_moeis
 
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App Inventor
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App InventorSeri 5 : Mengaktifkan dan menggunakan emulator Pada App Inventor
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App InventorIki Mazadi
 
Seri 2 mengenal app inventor lebih dalam 2012
Seri 2 mengenal app inventor lebih dalam 2012Seri 2 mengenal app inventor lebih dalam 2012
Seri 2 mengenal app inventor lebih dalam 2012Iki Mazadi
 
11 presentasi model_bisnis_open_source
11 presentasi model_bisnis_open_source11 presentasi model_bisnis_open_source
11 presentasi model_bisnis_open_sourceRusmanto Maryanto
 
Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)dikwan_moeis
 
Build your first app
Build your first appBuild your first app
Build your first appRafi Ramadhan
 
Seri 1 : Welcome back app inventor 2012
Seri 1 : Welcome back app inventor 2012Seri 1 : Welcome back app inventor 2012
Seri 1 : Welcome back app inventor 2012Iki Mazadi
 
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerRizkyCrown
 
Mobile Development (Flutter) | Webinar UBSI
Mobile Development (Flutter) | Webinar UBSIMobile Development (Flutter) | Webinar UBSI
Mobile Development (Flutter) | Webinar UBSIEdi Kurniawan
 

Mais procurados (20)

Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)Pemrograman Mobile - (Pengenalan dan Instalasi Android)
Pemrograman Mobile - (Pengenalan dan Instalasi Android)
 
Seri 9 : Aplikasi gps dengan app inventor
Seri 9 : Aplikasi gps dengan app inventorSeri 9 : Aplikasi gps dengan app inventor
Seri 9 : Aplikasi gps dengan app inventor
 
Pemrograman Mobile Android (Modul I)
Pemrograman Mobile Android (Modul I)Pemrograman Mobile Android (Modul I)
Pemrograman Mobile Android (Modul I)
 
Intro flutter dsc stimik tb
Intro flutter dsc stimik tbIntro flutter dsc stimik tb
Intro flutter dsc stimik tb
 
Pengenalan HTML5, Mobile Application, dan Intel XDK
Pengenalan HTML5, Mobile Application, dan Intel XDKPengenalan HTML5, Mobile Application, dan Intel XDK
Pengenalan HTML5, Mobile Application, dan Intel XDK
 
Seri 4 : Block Editor App Inventor
Seri 4 : Block Editor App InventorSeri 4 : Block Editor App Inventor
Seri 4 : Block Editor App Inventor
 
Pengenalan mit app inventor
Pengenalan mit app inventorPengenalan mit app inventor
Pengenalan mit app inventor
 
372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming372 Dasar Pengenalan Android Programming
372 Dasar Pengenalan Android Programming
 
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventorSeri 6 : Aplikasi Android gombal gembel dengan app inventor
Seri 6 : Aplikasi Android gombal gembel dengan app inventor
 
Panduan Instalasi Android Studio
Panduan Instalasi Android StudioPanduan Instalasi Android Studio
Panduan Instalasi Android Studio
 
Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)Pemrograman Mobile Android (Modul II)
Pemrograman Mobile Android (Modul II)
 
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App Inventor
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App InventorSeri 5 : Mengaktifkan dan menggunakan emulator Pada App Inventor
Seri 5 : Mengaktifkan dan menggunakan emulator Pada App Inventor
 
Seri 2 mengenal app inventor lebih dalam 2012
Seri 2 mengenal app inventor lebih dalam 2012Seri 2 mengenal app inventor lebih dalam 2012
Seri 2 mengenal app inventor lebih dalam 2012
 
11 presentasi model_bisnis_open_source
11 presentasi model_bisnis_open_source11 presentasi model_bisnis_open_source
11 presentasi model_bisnis_open_source
 
Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)Pemrograman Mobile Android (Modul III)
Pemrograman Mobile Android (Modul III)
 
Build your first app
Build your first appBuild your first app
Build your first app
 
Seri 1 : Welcome back app inventor 2012
Seri 1 : Welcome back app inventor 2012Seri 1 : Welcome back app inventor 2012
Seri 1 : Welcome back app inventor 2012
 
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server DockerMembuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
Membuat Aplikasi dengan Framework Hybrid Flutter dengan Database Server Docker
 
Pengenalan android
Pengenalan androidPengenalan android
Pengenalan android
 
Mobile Development (Flutter) | Webinar UBSI
Mobile Development (Flutter) | Webinar UBSIMobile Development (Flutter) | Webinar UBSI
Mobile Development (Flutter) | Webinar UBSI
 

Destaque

Modul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android SudaryatnoModul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android SudaryatnoYatno Sudar
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoYatno Sudar
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoYatno Sudar
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidAgus Haryanto
 
Modul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoModul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoYatno Sudar
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoYatno Sudar
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoYatno Sudar
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoYatno Sudar
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoYatno Sudar
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoYatno Sudar
 
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoModul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoYatno Sudar
 
Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoYatno Sudar
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaAgus Haryanto
 

Destaque (14)

Modul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android SudaryatnoModul praktikum 7 - Android Sudaryatno
Modul praktikum 7 - Android Sudaryatno
 
Modul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android SudaryatnoModul praktikum 10 - Android Sudaryatno
Modul praktikum 10 - Android Sudaryatno
 
Modul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android SudaryatnoModul praktikum 4 - Android Sudaryatno
Modul praktikum 4 - Android Sudaryatno
 
Langkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi androidLangkah-langkah Instalasi software untuk develop aplikasi android
Langkah-langkah Instalasi software untuk develop aplikasi android
 
Modul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android SudaryatnoModul praktikum 2 - Android Sudaryatno
Modul praktikum 2 - Android Sudaryatno
 
Modul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android SudaryatnoModul praktikum 3 - Android Sudaryatno
Modul praktikum 3 - Android Sudaryatno
 
Modul android
Modul android Modul android
Modul android
 
Modul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android SudaryatnoModul praktikum 13 - Android Sudaryatno
Modul praktikum 13 - Android Sudaryatno
 
Modul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android SudaryatnoModul praktikum 12 - Android Sudaryatno
Modul praktikum 12 - Android Sudaryatno
 
Modul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android SudaryatnoModul praktikum 5 - Android Sudaryatno
Modul praktikum 5 - Android Sudaryatno
 
Modul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android SudaryatnoModul praktikum 11 - Android Sudaryatno
Modul praktikum 11 - Android Sudaryatno
 
Modul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android SudaryatnoModul praktikum 9 - Android Sudaryatno
Modul praktikum 9 - Android Sudaryatno
 
Modul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android SudaryatnoModul praktikum 8 - Android Sudaryatno
Modul praktikum 8 - Android Sudaryatno
 
Belajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android SederhanaBelajar Android Studio - Membuat Aplikasi Android Sederhana
Belajar Android Studio - Membuat Aplikasi Android Sederhana
 

Semelhante a OPTIMIZED ANDROID APP DEVELOPMENT

Pengantar Android
Pengantar AndroidPengantar Android
Pengantar AndroidSherly Uda
 
02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptxZenDejavu
 
Android fundamental development
Android fundamental developmentAndroid fundamental development
Android fundamental developmentBayu Firmawan Paoh
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetEdi Faizal
 
Study Jam Mobile 4 - Introduction to Flutter.pdf
Study Jam Mobile 4 - Introduction to Flutter.pdfStudy Jam Mobile 4 - Introduction to Flutter.pdf
Study Jam Mobile 4 - Introduction to Flutter.pdfanjarmath
 
Pertemuan 2 - Materi [MP - 2016].pdf
Pertemuan 2 - Materi [MP - 2016].pdfPertemuan 2 - Materi [MP - 2016].pdf
Pertemuan 2 - Materi [MP - 2016].pdfandrirachmayadi90
 
GUGUS-a mini program prototype
GUGUS-a mini program prototypeGUGUS-a mini program prototype
GUGUS-a mini program prototypeDony Riyanto
 
Ebook Workshop Dasar android
Ebook Workshop Dasar androidEbook Workshop Dasar android
Ebook Workshop Dasar androidSaeful Bahri
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming TutorialDimas Prawira
 
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studio
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studioModul ajar membuat aplikasi mobile multiplatform menggunakan android studio
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studioElsa Charming
 
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Indonesia
 
Android101 update ver2014
Android101 update ver2014Android101 update ver2014
Android101 update ver2014Alfa Satyaputra
 
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...DicodingEvent
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskheriakj
 
Bahan ajar rpp instalasi sistem aplikasi
Bahan ajar rpp  instalasi sistem aplikasi Bahan ajar rpp  instalasi sistem aplikasi
Bahan ajar rpp instalasi sistem aplikasi AndirilanAritonang
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405nadyaindah10
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsismaryamalz
 
WarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxWarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxEstu Fardani
 

Semelhante a OPTIMIZED ANDROID APP DEVELOPMENT (20)

Pengantar Android
Pengantar AndroidPengantar Android
Pengantar Android
 
02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx02 Activity - Intents - Fragment.pptx
02 Activity - Intents - Fragment.pptx
 
Android fundamental development
Android fundamental developmentAndroid fundamental development
Android fundamental development
 
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widgetChapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
Chapt 03 layouting dan desain antarmuka &amp; input kontrol dan android widget
 
Study Jam Mobile 4 - Introduction to Flutter.pdf
Study Jam Mobile 4 - Introduction to Flutter.pdfStudy Jam Mobile 4 - Introduction to Flutter.pdf
Study Jam Mobile 4 - Introduction to Flutter.pdf
 
Pertemuan 2 - Materi [MP - 2016].pdf
Pertemuan 2 - Materi [MP - 2016].pdfPertemuan 2 - Materi [MP - 2016].pdf
Pertemuan 2 - Materi [MP - 2016].pdf
 
Silabus android
Silabus androidSilabus android
Silabus android
 
GUGUS-a mini program prototype
GUGUS-a mini program prototypeGUGUS-a mini program prototype
GUGUS-a mini program prototype
 
Ebook Workshop Dasar android
Ebook Workshop Dasar androidEbook Workshop Dasar android
Ebook Workshop Dasar android
 
Introduction on Android programming Tutorial
Introduction on Android programming TutorialIntroduction on Android programming Tutorial
Introduction on Android programming Tutorial
 
Mppl tugas 3 - KAK
Mppl   tugas 3 - KAKMppl   tugas 3 - KAK
Mppl tugas 3 - KAK
 
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studio
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studioModul ajar membuat aplikasi mobile multiplatform menggunakan android studio
Modul ajar membuat aplikasi mobile multiplatform menggunakan android studio
 
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
GITS Class #11: Android Architecture Component bersama Derayan Bima (Android ...
 
Android101 update ver2014
Android101 update ver2014Android101 update ver2014
Android101 update ver2014
 
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
Dicoding Developer Coaching #23: Android | Membangun Modern App dengan Jetpac...
 
Pertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntaskPertemuan 11 thread dan asyntask
Pertemuan 11 thread dan asyntask
 
Bahan ajar rpp instalasi sistem aplikasi
Bahan ajar rpp  instalasi sistem aplikasi Bahan ajar rpp  instalasi sistem aplikasi
Bahan ajar rpp instalasi sistem aplikasi
 
Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405Nadya indah 6701144061_pis1405
Nadya indah 6701144061_pis1405
 
Siti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsiSiti maryam alizza_6701140222_pis1405_apsi
Siti maryam alizza_6701140222_pis1405_apsi
 
WarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn LinuxWarSi (Warung Aplikasi) untuk BlankOn Linux
WarSi (Warung Aplikasi) untuk BlankOn Linux
 

OPTIMIZED ANDROID APP DEVELOPMENT

  • 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
  • 3. Tools yang dibutuhkan • Android Studio (Stable build) • Java SDK 8
  • 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)
  • 8. Activity Lifecycle Baca Lebih Lanjut : http://developer.android.com/guide/ components/activities.html PA4AD page 86 - 93
  • 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