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
CategoriesAndroidProgrammingSecurity

Mengamankan SharedPreferences pada Aplikasi Android

SharedPreferences merupakan penyimpanan key-value data sederhana pada Android. SharedPreferences seringkali digunakan untuk menyimpan setting pada aplikasi, sering juga digunakan sebagai session yang menyimpan info login yang memuat token user untuk login padahal sebenarnya menyimpan data penting seperti user token di SharedPreferences merupakan hal yang fatal dan bisa menyebabkan system di bobol oleh hacker karena SharedPreferences bisa diakses dan dibaca oleh user yang memiliki akses root pada devicenya.

Continue reading
CategoriesAndroidProgramming

Mengenal Architecture Pattern MVP pada Android Development

Architecture Pattern adalah bagaimana susunan kode kita pada saat membuat program / aplikasi. contoh dari Architecture Pattern adalah MVC (Model View Controller), MVP (Model View Presenter), dan MVVM (Model View ViewModel). sebagian dari kita mungkin lebih familiar dengan istilah design pattern bahkan salah menganggap kalau MVC, MVP, dan MVVM adalah design pattern. padahal Design Pattern dan Architectural Pattern adalah 2 hal yang berbeda. Design Pattern adalah istilah yang merujuk pada solusi umum yang digunakan untuk memecahkan masalah yang sering terjadi dalam konteks tertentu, contoh dari Design Pattern adalah Factory Pattern, Adapter Pattern, Singleton Pattern, Builder Pattern, dan lain sebagainya. Design Pattern akan saya bahas di artikel yang lain, tetap stay tune di blog ini.

Penggunaan Architecture Pattern cukup penting dan cenderung memudahkan kita dalam proses development, apalagi jika kita berada dalam satu tim development. karena Architecture Pattern membagi tiap koding sesuai dengan fungsinya masing-masing, jadi kita tidak melakukan koding di satu class saja namun dipisah-pisah menjadi beberapa class sesuai dengan fungsinya masing-masing.
disini kita akan membahas salah satu dari Architecture Pattern yang paling sering dipakai dalam Android Development, yaitu MVP.

Continue reading
CategoriesAndroidProgrammingUncategorized

Membangun Aplikasi yang ramah disabilitas

Smartphone diciptakan untuk mempermudah kehidupan manusia, termasuk yang memiliki keterbatasan fisik. OS Android juga diciptakan untuk mereka yang memiliki keterbatasan fisik, maka dari itu Android menyediakan fitur Accessibility secara default pada menu Pengaturan untuk membantu mereka dalam menjalankan Smartphone. fitur Accessibility tidak akan berjalan optimal jika Developer sembarangan dalam membuat aplikasi. terdapat beberapa guide agar fitur Accessibility dapat berjalan optimal dan bisa mempermudah pengguna disabilitas dalam menggunakan aplikasi kita.

Continue reading
CategoriesAndroidProgramming

Menyimpan data dengan Room di Android

Teori

Dalam membuat aplikasi Android kita terkadang harus menyimpan data yang dihasilkan dari aplikasi kita, baik tersimpan secara cloud ataupun local. di Android ada 2 library penyimpanan data yang dikenal yaitu SQLite dan Realm namun yang paling sering dipakai adalah SQLite. namun untuk menggunakan SQLite perlu banyak kode yang terkadang membingungkan untuk maintainingnya. karena itu Room diciptakan, Room menggunakan SQLite sebagai core nya namun dengan kode yang lebih simple dan mudah dimengerti.

“Room memberikan lapisan abstraksi pada SQLite untuk memungkinkan akses database yang lancar sekaligus memanfaatkan kemampuan SQLite secara optimal”

source : https://developer.android.com/training/data-storage/room
Continue reading