CategoriesAndroidAutomated testsProgramming

Menggunakan EspressoIdlingResource untuk UI Testing di Android

UI Testing di Android sangat bermanfaat dalam development, karena mempercepat proses development dan debugging. Developer tidak perlu capek-capek klik klik dan scroll hp untuk testing aplikasi karena semua serba otomatis di UI Testing. ada satu masalah yang sering dihadapi saat UI Testing yaitu saat ada Activity yang me request data dari API seringkali membuat Activity stuck tampilannya hingga membuat testing yang berjalan jadi Error. untuk menghadapi kasus seperti ini kita memerlukan EspressoIdlingResource.

Continue reading
CategoriesAndroidProgramming

Belajar Dependency Injection Koin di Android

Penggunaan Dependency Injection cukup penting dalam development aplikasi Android, karena selain membuat kode menjadi lebih clean code dan testable, juga membuat performa aplikasi jadi lebih baik.

Google merekomendasikan Dependency Injection Dagger, namun Dagger terkadang masih susah dipelajari untuk pemula dan terkadang mudah error karena memerlukan class yang digenerate oleh dagger. ada satu library Dependency Injection yang bisa mengatasi hal tersebut, library itu adalah Koin. Koin adalah Library yang Ringan dan Pragmatic. Koin dibuat dan digunakan di Kotlin. Koin tidak menggunakan class yang digenerate jadi meminimalisir error.

Continue reading
CategoriesAndroidProgramming

Tips Android Developing dengan Kotlin

dalam membuat aplikasi android kita seringkali terpaku pada satu metode, padahal metode tersebut telah usang dan sudah digantikan dengan metode lain yang lebih efektif. kita memang harus selalu update kalau jadi seorang Software Engineer, termasuk update juga tentang metode-metode dalam developing aplikasi. kali ini kita akan membahas metode-metode apa yang disarankan untuk dipakai saat men-develop aplikasi android saat artikel ini ditulis.

Continue reading
CategoriesAndroidAutomated testAutomated testsProgramming

Testing API di Android dengan MockWebServer

Dalam membuat Aplikasi kita banyak bergantung ke REST API untuk mendapatkan data maupun mengirimkan data. tentunya kita memerlukan akses internet yang lancar agar proses development berjalan tanpa hambatan, itu karena kita langsung mengakses server REST API menggunakan koneksi internet kita. sebenarnya tidak ada salahnya melakukan testing dengan langsung call API dari server namun hal ini membuat kita bergantung ke kelancaran koneksi internet untuk mendapatkan data. hal ini dapat dicegah dengan membuat server tiruan / mock dengan data yang sama dengan server asli.

Continue reading
CategoriesAndroidModularProgramming

Mengenal konsep Modular pada Android

Sebagian besar dari kita pasti seringkali bikin Aplikasi Android yang Monolith. Monolith berarti kita membuat semua code di aplikasi menggunakan 1 Module yaitu Module app. lalu apa masalahnya jika kita hanya membuatnya di 1 module saja ? seharusnya memang tidak ada masalah dan Aplikasi pasti masih bisa di run dengan lancar. masalah terjadi jika suatu aplikasi sudah besar dan memiliki banyak fitur, pasti agak membingungkan semua ditaruh di hanya pada 1 module saja, kita perlu membaginya menjadi beberapa module berdasarkan fitur. ini juga akan mempermudah jika kita ingin mengcopy fitur yang ada ke aplikasi lain tanpa harus mengatur ulang nama package pada tiap file.

Continue reading
CategoriesAndroidProgrammingUI DesignUX Design

Bikin UI di Android dengan Jetpack Compose

Jetpack Compose merupakan teknologi baru dari Google yang mempermudah Android Developer dalam membuat tampilan / UI aplikasi. jika sebelumnya kita bikin UI di Android menggunakan XML, di jetpack compose ini kita bikin UI langsung di kodingan Kotlin kita. pastinya hal ini mempercepat kita untuk bikin aplikasi android karena kita nggak perlu pindah-pindah tab lagi buat bikin UI karena sekarang bisa dikerjakan di 1 file saja.

Continue reading
CategoriesAndroidProgramming

Berkenalan dengan Navigation Component di Android

kita pasti seringkali menggunakan Intent untuk navigasi antar activity di aplikasi, kita juga sering menggunakan fragmentManager untuk transaksi antar fragment. cara-cara itu memerlukan berbaris-baris kode apalagi jika terdapat konfigurasi lain seperti penambahan Extras atau penambahan animasi. selain itu navigasi nya juga tidak terstruktur sehingga kita terkadang bingung dengan alur navigasi di Aplikasi kita.

Continue reading
CategoriesAndroidAutomated testProgramming

Cara mudah bikin UI Testing di Android

Dalam membuat aplikasi, kita pasti akan menguji aplikasi nya apakah ada error atau bug pada kode yang kita tuliskan. Pasti kita butuh berkali-kali melakukan pengujian aplikasi baru bisa bebas dari error atau bug, yang berarti kita harus menjalankan berkali-kali prosedur pengujian. akan cukup melelahkan jika kita melakukan pengujian secara manual dan bisa juga ada pengujian yang terlewatkan.
Sebenarnya ada fitur pengujian otomatis di Android yang bernama Instrumentation Testing atau UI Testing, fitur yang memungkinkan kita melakukan pengujian secara otomatis pada aplikasi secara berurutan berdasarkan perintah yang kita berikan. namun kita perlu belajar perintah-perintah pengujiannya untuk dapat menggunakan Instrumentation Testing dan tentunya kita perlu melakukan koding lagi untuk membuat pengujian. cukup melelahkan bagi beberapa orang karena harus ngoding lagi.

Continue reading
CategoriesAndroidProgramming

Mengamankan Local Database Room di Android

Kita kadang butuh menyimpan data secara lokal untuk mempercepat load aplikasi dan menghemat bandwidth server. lalu bagaimana jika data yang kita simpan di lokal merupakan data yang penting dan sensitif ? kita memerlukan enkripsi untuk mengamankan data tersebut. user biasa memang tidak bisa mengakses file database di aplikasi kita, namun jika user tersebut tau bagaimana cara mendapatkan database nya maka semua data yang ada di database dapat dengan mudah terbaca karena tidak ada enkripsi yang dilakukan.

Continue reading