Like us!
Follow us!
Follow us!
Follow us!
Follow us!
  • 📅 Tanggal :  
  • ⏳ Waktu :  
  • |
  • Login
  • Register Member
Android & IOS Development |

MOSYAN-ORGANIZER menyajikan tutotial-tutorial tentang ilmu-ilmu IT dan perkembangan dunia teknologi lainnya, selain Dunia IT, kami juga menyediakan topik, tutorial dan juga perkembangan dunia Finance, Akunting dang banyak hal menarik lainnya.

 

Belajar Arsitektur Aplikasi Android - Android Basic Architecture and Design Pattern

Belajar Arsitektur Aplikasi Android - Android Basic Architecture and Design Pattern












Komponen arsitektur Android adalah kumpulan library untuk membantu Anda mendesain aplikasi yang tangguh, dapat diuji, dan mudah pemeliharaannya. Dimulai dari class untuk mengelola siklus proses komponen UI dan menangani persistensi data.

Standar arsitektur siklus hidup ​(life cycle) dari masing-masing komponen yang ada pada Android

Siklus hidup ​(life cycle)​ dari suatu ​Activity​, meliputi;

- onCreate​, dipanggil ketika suatu ​Activity​ dijalankan pertama kali
- onPause​, dipanggil ketika suatu ​Activity dihentikan oleh user, dengan menekan button ​Home​ pada smartphone
- onResume​, dipanggil ketika suatu ​Activity dibuka kembali, setelah user menekan button ​Home​ pada smartphone
- onDestroy​, dipanggil ketika suatu ​Activity dihentikan oleh user, dengan menekan button ​Back​ pada smartphone atau pada navigasi ​Back​ yang ada di layar smartphone

Siklus hidup ​(life cycle)​ dari suatu ​Fragment​, meliputi;

- onCreateView​, dipanggil ketika suatu ​Fragment di dalam ​Activity dijalankan pertama kali
- onViewCreated​, dipanggil setelah layout dari ​Fragment berhasil ditampilkan pada layar smartphone user
- onDestroyView​, dipanggil ketika suatu ​Fragment yang ada di dalam ​Activity diganti dengan ​Fragment lainnya atau ketika user menekan button ​Back pada smartphone atau pada navigasi ​Back​ yang ada di layar smartphone

Komponen UI yang ada di Android

- ConstraintLayout​, digunakan untuk membuat layout dinamis pada Android
- TextView​, digunakan untuk menampilkan label atau text dasar pada Android
- Button​, digunakan untuk menampilkan button dasar pada Android
- InputText​, digunakan untuk menampilkan inputan, baik berupa text, angka, password dan inputan lainnya pada Android
- RecyclerView​, digunakan untuk membuat tampilan berupa ​list​ pada Android
- CustomView dengan bantuan ​FrameLayout​, digunakan sebagai alternatif dalam membuat tampilan tanpa bantuan ​Fragment

Cara membuat komunikasi ​client-server sederhana di Android, menggunakan networking library

- Belajar memahami konsep ​REST ​API dengan bantuan aplikasi, seperti ​Postman (​https://getpostman.com​)
- Belajar menggunakan library networking, seperti ​OkHttp Client ​dan ​Retrofit
- Belajar menambahkan ​Android Internet Permission​ pada ​Android Manifest
- Belajar implementasi networking sederhana dengan contoh aplikasi ​MovieDB (​https://developers.themoviedb.org/3/getting-started/introduction​)
- Menggunakan ​Google​ ​GSON​ untuk manipulasi ​JSON​ object
- Referensi OKHttp Client -> ​https://square.github.io/okhttp
- Referensi Retrofit -> ​https://square.github.io/retrofit
- Referensi Google GSON -> ​https://github.com/google/gson


Android Basic Architecture and Design Pattern

Basic View Binding dengan ​Kotlin Android Extensions

- Belajar memahami konsep dasar dari ​findViewById
- Belajar memahami konsep dasar dari ​Kotlin Android Extensions​, dengan menambahkan plugin baru pada file ​gradle seperti berikut -> ​apply plugin: 'kotlin-android-extensions'
- Komparasi antara ​findViewById ​dengan ​Kotlin Android Extensions

Dependency Injection

- Introduction to Dagger2 by Google ​(​https://dagger.dev​)
- Belajar dasar dari ​Dependency Injection (DI)​ menggunakan ​Dagger2
- Belajar memahami konsep dasar dari ​Kotlin Annotation Processing​, dengan menambahkan plugin baru pada file ​gradle seperti berikut -> ​apply plugin: 'kotlin-kapt'
- Belajar membuat dependency module
- Belajar membuat dependency scope per module
- Belajar integrasi dependency component antar module
- Pemahaman tentang dependency graph pada dagger2

Model-View-Presenter

- Pengenalan tentang design pattern ​Model-View-Presenter (MVP)
- Belajar membedakan antara design pattern ​MVP dengan ​Model-View-Controller (MVC)
- Belajar implementasi sederhana, bagaimana menggunakan ​MVP

Reactive Programming

- Introduction to ReactiveX ​(​http://reactivex.io​)
- Belajar memahami konsep ​Observable menggunakan ​Reactive Programming​, referensi bisa dilihat pada -> ​http://reactivex.io/intro.html
- Menambahkan dependency ​RxJava​ ​(​https://github.com/ReactiveX/RxJava​)
- Menambahkan dependency ​RxKotlin (​https://github.com/ReactiveX/RxKotlin​)
- Menambahkan dependency ​RxAndroid (​https://github.com/ReactiveX/RxAndroid​)
- Menambahkan support reactive adapter dependency untuk ​Retrofit, (​https://github.com/square/retrofit/tree/master/retrofit-adapters/rxjava2​)
- Belajar integrasi ​Retrofit Adapter​ menggunakan Reactive Programming

Pemahaman tentang ​Schedulers​ yang terdapat pada Reactive Programming, seperti;

io ​: Tipe scheduler yang digunakan untuk melakukan binding pada proses input/output dari suatu stream secara ​asynchronous
immediate : Tipe scheduler yang digunakan untuk melakukan proses stream secara langsung pada thread yang sama
trampoline : Tipe scheduler yang digunakan untuk melakukan proses stream secara berkala ​(queuing schedule)​ pada thread yang sama
newThread : Tipe scheduler yang digunakan untuk melakukan proses stream dengan cara selalu membuat thread baru
● ​computation : Tipe scheduler yang digunakan untuk melakukan proses stream sebagai proses komputasi (perhitungan) terhadap data yang sedang
dieksekusi di dalam stream, fungsi ini juga disebut sebagai ​event-loop processing

Pemahaman tentang berbagai macam metode stream yang terdapat pada Reactive Programming, seperti;

Observable : Stream yang digunakan untuk melakukan proses ​threading kurang lebih sebanyak 1000 element dalam 1 proses
Flowable : Stream yang berfungsi hampir serupa dengan ​Observable​, namun memiliki urutan atau ​flow dari 1 proses ke proses lainnya dalam stream yang sama
Single : Stream yang digunakan untuk melakukan proses ​threading​, yang dimana output dari proses tersebut hanya terdapat 1 thread saja sehingga bisa dikatakan lebih ringan dan tidak membebani pemakaian memori yang cukup besar untuk melakukan proses thread
Maybe : Stream yang digunakan untuk melakukan proses ​threading dengan pendekatan optional, dimana hasil dari thread tersebut akan mengeluarkan dua buah proses, antara benar/salah ataupun sukses/gagal
Completable : Stream yang digunakan untuk melakukan proses ​threading dengan hanya melihat hasil akhir, tanpa melakukan pengecekan terhadap proses di dalam stream tersebut, apakah prosesnya akan sukses ataupun gagal


Mochamad Syaiful Anwar

Mochamad Syaiful Anwar

------Profil Singkat Penulis-----
Saya pribadi yang sangat flexible, sangat mudah bergaul dengan siapapun, namun karena addict dalam beberapa hal, membuat saya terlihat seolah individu yang anti-social, sangat berlawanan balik dengan kenyataan, saya sangat Open Minded terhadap Apapun.
Baca Profil Lengkap








Android & IOS Development Lainnya

Bagaimana tanggapan anda tentang Belajar Arsitektur Aplikasi Android - Android Basic Architecture and Design Pattern, Ada yang ingin ditanyakan? Komentar? Tulis komentarmu tentang blog ini :)


Get the latest update of MOSYAN-ORGANIZER by subscribing here