CategoriesAndroidProgramming

Mengelola Background Task di Kotlin dengan Coroutines

Android Developer yang pernah develop dengan Java mungkin merasakan betapa rumit dan panjangnya kode untuk mengelola background task. perlu puluhan baris kode untuk membuat satu background task. belum lagi bisa terjebak “Callback Hell” karena background task di Java menggunakan callback. kini kotlin benar-benar makin memudahkan Android Developer dengan adanya Coroutines yang memungkinkan kita untuk membuat Background Task dengan lebih sedikit baris kode dan tanpa takut terjebak “Callback Hell”.

Continue reading
CategoriesAndroidProgramming

Mengenal Auto Backup di Android

Pernah install sebuah aplikasi lalu tiba-tiba aplikasinya sudah login atau isi data nya sama dengan handphone lain yang sebelumnya pakai aplikasi tersebut ? padahal kamu hanya install aplikasinya tapi tiba-tiba datanya sudah ada semua. itulah kelebihan dari fitur Auto Backup di Android yang bisa berguna untuk Pengguna Aplikasi tapi terkadang bisa jadi Masalah untuk Developer jika developer belum tau fitur ini. oleh karena itu mari mengenal fitur ini.

Continue reading
CategoriesAndroid

Optimalkan RecyclerView dengan ListAdapter

Apakah kamu masih menggunakan notifyDatasetChanged() untuk merefresh item di RecyclerView Adapter ? Cara ini sudah tidak direkomendasikan lagi, jika kamu mengetik kode ini di Android Studio akan muncul warning yang memberitahukan jika cara ini sudah tidak effisien jika dipakai untuk merefresh list. Cara yang direkomendasikan saat ini adalah menggunakan DiffUtilCallback. Kamu perlu menambahkan beberapa kode di class Adapter kamu.

Continue reading
CategoriesAndroidFlutterProgramming

Adaptive Layout di Flutter: Persiapan Menghadapi Era Android 16

Adanya foldable phone yang bisa berubah dari mode tampilan phone ke tablet secara seamless tanpa perlu memiliki 2 device menjadi game changer dalam Development Aplikasi khususnya Aplikasi Android. hal ini menyebabkan aplikasi Android harus memiliki kemampuan seperti website, yaitu tampilannya harus bisa menyesuaikan jenis layar device yang digunakan oleh User agar informasi yang terdapat di Aplikasi bisa secara tersampaikan ke user secara optimal tanpa ada bagian yang terpotong. tapi sebagian besar Aplikasi Android saat ini masih belum menerapkan Adaptive Layout karena masih berfokus ke tampilan Phone yang menjadi mayoritas pengguna Google Play. karena itu pada pembaruan Android SDK 36 Google Play akan mewajibkan update aplikasi terbaru untuk menerapkan Adaptive Layout.

Continue reading
CategoriesAndroidProgrammingSecurity

Menangkal MITM Attack di Android

Serangan Man-in-the-Middle (MITM) adalah salah satu ancaman paling umum terhadap aplikasi mobile. Pelaku berhasil “mencegat” komunikasi antara aplikasi Anda dan server, lalu dapat membaca atau memodifikasi data sensitif (token, kredensial, dll). Di Android, salah satu cara efektif mencegah MITM adalah dengan Certificate Pinning—memastikan hanya sertifikat tertentu saja yang diterima.

Continue reading
CategoriesAndroidFlutteriOSProgramming

Reactive Programming di Dart dengan Stream

Stream di Dart adalah aliran berkelanjutan dari data yang mengalir dari satu sumber ke sumber lainnya. Dalam konteks Flutter, stream digunakan untuk mengelola aliran data asynchronous, memungkinkan aplikasi untuk merespons perubahan data secara dinamis tanpa memblokir main thread. Stream cocok digunakan untuk sebuah operasi yang membutuhkan update data secara terus menerus seperti contoh pemutaran suara yang mengupdate durasi setiap detik nya. dengan kata lain Stream adalah salah satu implementasi dari Reactive Programming di Flutter yang mana terdapat variable yang digunakan untuk mengirimkan data dan ada variabel yang menerima data sebagai Subscriber

Continue reading
CategoriesAndroidFlutteriOSProgramming

Meningkatkan Responsivitas Aplikasi Flutter dengan ValueNotifier dan ValueListenableBuilder

Flutter telah menjadi pilihan utama untuk pengembangan aplikasi cross platform untuk saat ini. Salah satu tantangan dalam pengembangan aplikasi Flutter adalah menjaga responsivitasnya, terutama saat data berubah. Dalam artikel ini, kami akan membahas penggunaan ValueNotifier dan ValueListenableBuilder dalam Flutter untuk meningkatkan responsivitas aplikasi tanpa tambahan package lainnya, serta membandingkannya dengan metode setState.

Continue reading
CategoriesAndroidFlutteriOSProgrammingUncategorized

Implementasi Deep Link di Flutter

Pernahkah kalian mengklik suatu link pada Smartphone kalian tapi link tersebut tidak mengarah ke browser melainkan mengarah ke suatu aplikasi ?
hal itu dinamakan Deep Link. Deep Link adalah sebuah hyperlink yang akan mengarahkan user ke sebuah fitur di pada aplikasi. biasanya Deep Link dimanfaatkan untuk link referral, link detail produk, dan banyak fungsi lainnya.

Continue reading
CategoriesAndroidFlutteriOSProgramming

Threading di Flutter dengan Isolate

Pernahkan device kalian terasa berat atau mungkin sampai aplikasinya not responding saat menjalankan suatu method atau function dari kodingan flutter kalian ? kenapa bisa terasa berat padahal sudah dijalankan menggunakan async/await ? itu karena async/await berjalan di thread utama yang bertugas untuk memproses UI / Tampilan atau bisa disebut dengan UI Thread. jika method/function yang membutuhkan waktu lama untuk diproses dijalankan di UI Thread akan menyebabkan Not Responding. biasanya method/function yang berhubungan dengan ImageProcessing yang membutuhkan waktu lama untuk memproses. solusinya agar tidak Not Responding adalah memproses method/function tersebut di Thread lain agar tidak mengganggu UI Thread. salah satu metode Threading di Flutter adalah menggunakan Isolate.

Continue reading