Bermain dengan Coroutine Part 2

Aditya Putra Pratama
2 min readSep 26, 2022

--

Photo by Laura Chouette on Unsplash

Overview

setelah di part sebelumnya membahas coroutine dalam cakupan general, untuk part sekarang saya akan mencoba membahas lebih lanjut mengenai couroutine beberapa topik yang akan saya highlight adalah

  • Coroutine pada Viewmodel

sebelum itu mari berkenalan denan arsitektur MVVM

MVVM (Model View View Model)

adalah salah satu arsitektur pembuatan aplikasi berbasis GUI yang berfokus pada pemisahan antara kode untuk logika bisnis dan tampilan aplikasi. Dalam penerapannya, MVVM terbagi atas beberapa layer, yaitu Model, View, dan ViewModel. Simak pembahasan ketiga layer tersebut di bawah ini.

  • Model
    Layer ini adalah model atau entitas yang merepresentasikan data yang akan digunakan pada logika bisnis. Umumnya kelas-kelas yang ada di dalamnya berupa POJO atau Plain Old Java Object dan Data Classes jika kita menggunakan Kotlin.
  • View
    Tidak seperti layer sebelumnya, layer ini berisi UI dari aplikasi untuk mengatur bagaimana informasi akan ditampilkan. Layer ini akan berisi kelas-kelas, seperti Activity dan Fragment.
  • ViewModel
    Layer terakhir adalah ViewModel yang bertugas untuk berinteraksi dengan model di mana data yang ada akan diteruskan ke layer view.
mvvm design patern architecure

dalam pengembangan aplikasi android sendiri MVVM sering di gunakan, ViewModel pada MVVM memiliki lifecycle tersendiri

lifecyle ViewModel

berbeda dengan lifecycle activity, lifecyle viewmodel hanya akan di clear ketika activity finished yaitu setelah onDestroy.

langsung saja kita test

ViewModel Lifecyle

dari test ini terlihat bahwa lifecycle coroutine pada viewmodel berhenti ketika activity finish

ketika kita mencoba untuk rotate, viewmodel lifecycle tetap berjalan

Rotate Screen ViewModel Lifecyle

Kesimpulan

Coroutine dalam ViewModel merupakan solusi untuk pengembangan aplikasi android, dengan adanya coroutine ViewModel maka kita tidak perlu memanggil coroutine ketika screen rotate
design arsitektur MVVM merupakan solusi untuk para developer android untuk memisahkan antara logika bisnis dengan ui.

Ikatlah ilmu dengan menulisnya

--

--

Aditya Putra Pratama
Aditya Putra Pratama

Written by Aditya Putra Pratama

Exploring the intersections of technology and humanity. Seeking insights and sharing discoveries.