source :expert tips for android
Apa itu Android
Android adalah sistem operasi yang dikeluarkan oleh Google. Android dibuat khusus untuk smartphone dan tablet. Berbagai macam produsen telah menggunakan Android sebagai sistem operasi untuk peranti (device) yang mereka produksi.
Mengapa Android
Kenapa menggunakan Android ?
Android memanjakan penggunanya dengan fitur yang sangat canggih dan tampilan yang bagus. Sistem Android dapat digunakan sebagai alat multimedia seperti pemutar musik dan video. Ia juga memiliki perangkat keras seperti accelerometer, gyroscope dan sensor lainnya.
Disamping itu ada beberapa hal yang membuat Android sebagai sistem operasi yang memang layak digunakan oleh pengguna atau dikembangkan para developer, seperti yang akan diuraikan berikut ini.
Sistem Operasi Smartphone Terpopuler
Sejak dirilis tahun 2008, Google telah mengeluarkan beberapa versi, dengan "Oreo" sebagai versi yang terbaru.
Pada tahun 2013, Android menjadi operation system (OS) terlaris pada tablet dan smartphone. Tercatat pada tahun 2016, store Android memiliki lebih dari 2.8 juta aplikasi.
Android menarik bagi perusahaan teknologi yang membutuhkan barang siap jadi, biaya rendah dan kustomisasi OS untuk perangkat teknologi tinggi mereka. Hal ini menjadi daya tarik bagi banyak perusahaan, sehingga mereka memilih Android.
Source code dari Android bersifat open source. Ini adalah hal menarik bagi komunitas developer, karena lisensi open source sangat mendukung untuk mengembangkan produknya dengan aman.
Store
Aplikasi Android bisa di distribusikan menggunakan web, copy APK, dan store. Store Android, yaitu Google Play, merupakan cara termudah bagi para developer untuk medistribusikan aplikasinya ke pasar yang memiliki miliaran pengguna.
Google play merupakan store resmi Android yang dikelola oleh Google. Pengguna bisa mencari dan mengunduh aplikasi yang dikembangkan dengan menggunakan Android Software Development Kit.
Tidak hanya aplikasi yang ditawarkan di Google Play. Ada beragam konten lainnya yang dapat dinikmati pengguna, misalnya media digital, musik, buku, majalah, film dan program televisi.
Bagaimana para developer memonetisasi aplikasi yang ada di dalam Google Play?
Strategi monetisasi aplikasi yang ditawarkan Google Play ada bermacam-macam. Dimulai dari app berbayar (paid distribution), pembelian dalam aplikasi (in-app purchase), langganan (subscriptions), dan iklan (ads). Tentunya developer harus mengikuti aturan yang ada untuk memastikan bahwa pengguna mendapatkan pengalaman (user experience) yang paling baik.
Development Kit untuk Developer
Android Software Development Kit (SDK) merupakan kit yang bisa digunakan oleh para developer untuk mengembangkan aplikasi berbasis Android. Di dalamnya, terdapat beberapa tools seperti debugger, software libraries, emulator, dokumentasi, sample code dan tutorial.
Bahasa pemrograman yang sering digunakan untuk mengembangkan aplikasi Android adalah Java. Namun ada beberapa bahasa lainnya yang dapat digunakan, seperti C++, dan Go. Pada IO 2017, Google juga meresmikan penggunaan Kotlin sebagai tambahan bahasa resmi.
Tidak hanya aplikasi yang ditawarkan di Google Play. Ada beragam konten lainnya yang dapat dinikmati pengguna, misalnya media digital, musik, buku, majalah, film dan program televisi.
Bagaimana para developer memonetisasi aplikasi yang ada di dalam Google Play?
Strategi monetisasi aplikasi yang ditawarkan Google Play ada bermacam-macam. Dimulai dari app berbayar (paid distribution), pembelian dalam aplikasi (in-app purchase), langganan (subscriptions), dan iklan (ads). Tentunya developer harus mengikuti aturan yang ada untuk memastikan bahwa pengguna mendapatkan pengalaman (user experience) yang paling baik.
Development Kit untuk Developer
Android Software Development Kit (SDK) merupakan kit yang bisa digunakan oleh para developer untuk mengembangkan aplikasi berbasis Android. Di dalamnya, terdapat beberapa tools seperti debugger, software libraries, emulator, dokumentasi, sample code dan tutorial.
Bahasa pemrograman yang sering digunakan untuk mengembangkan aplikasi Android adalah Java. Namun ada beberapa bahasa lainnya yang dapat digunakan, seperti C++, dan Go. Pada IO 2017, Google juga meresmikan penggunaan Kotlin sebagai tambahan bahasa resmi.
ART dan DVM
Dari tabel sejarah perkembangan di atas dapat kita lihat ada kolom DVM / ART. Kolom ini menunjukkan eksekusi kompilasi ketika menjalankan aplikasi Android. Pada API KitKat dan sebelumnya Android menggunakan DVM (Dalvik Virtual Machine). DVM menerapkan pendekatan JIT (Just-In-Time), di mana kompilasi dijalankan ketika ada permintaan untuk menjalankan aplikasi.
Sedangkan ART (Android Runtime) menerapkan pendekatan berbeda yaitu AOT (Ahead-Of-Time). AOT melakukan kompilasi pada saat proses instalasi aplikasi.
Dari versi Lollipop hingga Oreo, Android sepenuhnya mengadopsi ART. Kenapa demikian ?
DVM menggunakan JIT yang berarti kompilasi dilakukan setiap kali aplikasi dijalankan. Hal ini sangat mempengaruhi kecepatan respon aplikasi. Setiap kali kita menyentuh ikon aplikasi maka kompilasi akan dilakukan. Tentu proses ini menghabiskan CPU dan berimbas pada relatif lebih borosnya penggunaan baterai.
Java
Salah satu bahasa yang bisa digunakan untuk mengembangkan Android adalah Java. Selain Java, ada beberapa Bahasa lain yang bisa digunakan seperti C/C++, Go. Pada Mei 2017, Google resmi mendukung bahasa pemrograman Kotlin.
Android Studio
Pada akademi ini kita akan menggunakan Android Studio versi 3.1 sebagai IDE (Integrated Development Environment). Android Studio dirilis 16 Mei 2013 pada Google IO. Android Studio berbasiskan JetBrains Intellij IDEA, dan dikhususkan untuk mengembangkan aplikasi berplatform Android.
Tools
Merupakan Tools yang sering digunakan dalam development seperti copy/paste, build, menjalankan aplikasi, hingga menjalankan emulator.
Navigasi
Membantu melihat struktur dari kedalaman (depth) dan posisi proyek yang sedang kita buka sekarang.
Useful Tools pada Android Studio
Android Studio menyediakan fasilitas yang powerful di bawah IntelliJ IDEA ini. Banyak tools milik Android yang membantu kita saat mengembangkan Aplikasi. Mari kita bahas tools yang sering digunakan dan manfaatnya.
Shortcut
Pencarian
- Shift+Shift Search Everywhere, atau dapat dikatakan pencarian semua jenis berkas yang masih dalam 1 proyek.
- Ctrl+F Find, pencarian teks dalam salah satu berkas.
- Ctrl+Shift+F Find in path, pencarian teks di seluruh berkas proyek.
- Ctrl+R Replace, mengganti teks di dalam berkas.
- Ctrl+N Find Class, navigasi ke kelas tertentu.
- Ctrl+Shift+N Find file, navigasi ke berkas.
- Ctrl+B Go to declaration, lompat ke deklarasi yang dipilih
- Alt+ ↑ Lompat ke method sebelumnya.
- Alt+↓ Lompat ke method sesudahnya.
- Ctrl+G Go to line, lompat ke baris tertentu.
- Ctrl+E Membuka berkas teranyar (recent file).
- Ctrl+Left Mouse (or) Ctrl+Alt+F7 Melihat penggunaan pada variabel/objek yang diklik.
- Alt + F7 / Ctrl + F7 Melihat penggunaan variabel/objek yang dipilih di seluruh berkas proyek.
- Ctrl+Shift+B
- Mencari tahu implementasi dari variabel/objek yang dipilih.
Redaksi
Code Completion
Untuk meminimalisir salah ketik (typo) dalam pemanggilan class, method hingga variabel sebaiknya kita memanfaatkan Code Completion di Android Studio.
Basic Code Completion
Ctrl + Space
Pemanggilan Code Completion standar untuk membantu kita melengkapi kode.
Statement Completion
Ctrl + Shift + Enter
Perintah ini sangat membantu karena kita bisa menyelesaikan kode tanpa harus mengetik lengkap dan tanpa tanda kurung, kurung siku, kurung kurawal, dan banyak macam pemformatan lainnya.
Stye dan Formatting
Gaya penulisan kode adalah seni dalam pemrograman. Kita memiliki signature style masing-masing, Semua tergantung pilihan kita sendiri. Tetapi kita tetap perlu memperhatikan bagaimana tata letak kode apalagi bila suatu saat nanti kita membuat aplikasi bersama orang lain. Kode yang rapi itu enak dilihat dan memudahkan baik kita maupun orang lain untuk membacanya. Secara default Android Studio memberikan code style formatting untuk tata letak kode yang kita miliki. Untuk menyesuaikan setelan Code Style, klik File > Settings > Editor > Code Style (Android Studio > Preferences > Editor > Code Style pada Mac.)
Sample Code
Android Studio juga membantu kita menemukan kode yang berkualitas dan best practice-nya. Melalui Google, Android Studio memiliki sample code yang bebas kita gunakan dan manfaatkan untuk kebutuhan kita belajar atau membuat aplikasi Android. Dengan mengakses File > New > Import Sample, kita punya banyak pilihan contoh kode yang bisa dipakai.
Persiapan Running Menggunakan Emulator
Sebelum menggunakan emulator, Anda perlu memastikan beberapa hal berikut ini:
Virtualization
Untuk menjalankan emulator di dalam Android Studio, pastikan aspek virtualization. Sistem Anda harus memenuhi persyaratannya, yakni ketentuan prosesor dan sistem operasi dari laptop / PC yang Anda gunakan.
Processor
Menginstal Hardware Accelerated Execution Manager (HAXM)
Setelah memenuhi persyaratan di atas, langkah selanjutnya adalah menginstal HAXM. HAXM adalah hardware-assisted virtualization engine yang menggunakan teknologi VT dari Intel untuk mempercepat aplikasi Android yang diemulasi di mesin host. HAXM diperlukan untuk menjalankan emulator di Android Studio.
HAXM diperlukan jika sistem operasi yang Anda gunakan adalah Windows atau Mac. Untuk menginstalnya, ikuti petunjuk berikut ini.
Menginstal Kernel-based Virtual Machine (KVM) untuk Pengguna Linux
Karena HAXM hanya untuk Windows dan Mac, bagaimana dengan sistem operasi Linux? Untuk Linux, Anda harus menginstal KVM. Sistem operasi Linux dapat support accelerated virtual machine dengan menggunakan KVM.
Menggunakan Emulator
Setelah Anda memastikan bahwa virtualization bisa berjalan di komputer Anda, ikuti langkah-langkah berikut untuk menjalankan aplikasi kita dengan menggunakan emulator built-in dari Android Studio.
Run dengan device
Bila Anda hendak melakukan run atau debugging, lebih baik Anda menjalankannya pada peranti smartphone asli. Running dengan menggunakan peranti memiliki beberapa kelebihan jika dibandingkan dengan emulator yaitu :
Jika Anda belum memahami berkas APK, maka Anda dapat menyamakannya dengan berkas exe di windows atau ipa di iOS.
Cara membuat file APK di Android terbilang cukup mudah. Anda dapat menggunakan sebuah wizard atau melalui command line. Pada modul ini, kita akan fokus menggunakan wizard.
Membuat APK dapat dibagi menjadi 2:
Berikut adalah tips yang bisa Anda gunakan untuk mengamankan keystore :
Activity
- Ctrl+D
Menggandakan bagian yang dipilih.
- Ctrl+Q
Melihat dokumentasi dengan tampilan minimal.
- Ctrl+P
Melihat isi dari parameter, penting ketika melihat method dari Android atau library lain.
- Ctrl + Space
Basic code completion, menampilkan saran untuk melengkapi kode Anda.
- Ctrl+Shift+Space
Smart code completion, menampilkan saran kode untuk melengkapi kode Anda dengan lebih pintar (menampilkan apa yang benar-benar terkait dengan kode Anda).
- Alt+Insert
Generate code, menghasilkan (generate) kode. Perintah ini sangat memudahkan ketika membuat constructor dan setter/getter
- Ctrl+Alt+L
Memformat ulang kode, merapikan kode.
- Ctrl + F9
Make project, build project.
- Ctrl + Shift + F9
Melakukan kompilasi pada berkas, package atau modul.
- Shift + F10
Run.
- Shift + F9
Debug.
Code Completion
Untuk meminimalisir salah ketik (typo) dalam pemanggilan class, method hingga variabel sebaiknya kita memanfaatkan Code Completion di Android Studio.
Basic Code Completion
Ctrl + Space
Pemanggilan Code Completion standar untuk membantu kita melengkapi kode.
Statement Completion
Ctrl + Shift + Enter
Perintah ini sangat membantu karena kita bisa menyelesaikan kode tanpa harus mengetik lengkap dan tanpa tanda kurung, kurung siku, kurung kurawal, dan banyak macam pemformatan lainnya.
Kode di bawah ini ditulis sebelum menggunakan shortcut
Kemudian kita menggunakan Statement Completion. Lihat apa yang terjadi!
Gaya penulisan kode adalah seni dalam pemrograman. Kita memiliki signature style masing-masing, Semua tergantung pilihan kita sendiri. Tetapi kita tetap perlu memperhatikan bagaimana tata letak kode apalagi bila suatu saat nanti kita membuat aplikasi bersama orang lain. Kode yang rapi itu enak dilihat dan memudahkan baik kita maupun orang lain untuk membacanya. Secara default Android Studio memberikan code style formatting untuk tata letak kode yang kita miliki. Untuk menyesuaikan setelan Code Style, klik File > Settings > Editor > Code Style (Android Studio > Preferences > Editor > Code Style pada Mac.)
Android Studio juga membantu kita menemukan kode yang berkualitas dan best practice-nya. Melalui Google, Android Studio memiliki sample code yang bebas kita gunakan dan manfaatkan untuk kebutuhan kita belajar atau membuat aplikasi Android. Dengan mengakses File > New > Import Sample, kita punya banyak pilihan contoh kode yang bisa dipakai.
Persiapan Running Menggunakan Emulator
Sebelum menggunakan emulator, Anda perlu memastikan beberapa hal berikut ini:
Virtualization
Untuk menjalankan emulator di dalam Android Studio, pastikan aspek virtualization. Sistem Anda harus memenuhi persyaratannya, yakni ketentuan prosesor dan sistem operasi dari laptop / PC yang Anda gunakan.
Processor
- Prosesor Intel: Jika laptop/pc Anda menggunakan prosesor Intel, maka pastikan ia mendukung Intel VT-x, Intel EM64T (Intel 64), dan Execute Disable (XD) Bit functionality.
- Prosesor AMD Jika laptop/pc Anda menggunakan AMD, maka pastikan bahwa ia support dengan AMD Virtualization (AMD-V) dan Supplemental Streaming SIMD Extensions 3 (SSSE3).
- Intel : Jika menggunakan processor Intel maka Anda dapat menjalankannya di sistem operasi Windows, Linux, maupun Mac.
- AMD : Untuk prosesor AMD maka hanya bisa menjalankannya di sistem operasi Linux.
Menginstal Hardware Accelerated Execution Manager (HAXM)
Setelah memenuhi persyaratan di atas, langkah selanjutnya adalah menginstal HAXM. HAXM adalah hardware-assisted virtualization engine yang menggunakan teknologi VT dari Intel untuk mempercepat aplikasi Android yang diemulasi di mesin host. HAXM diperlukan untuk menjalankan emulator di Android Studio.
HAXM diperlukan jika sistem operasi yang Anda gunakan adalah Windows atau Mac. Untuk menginstalnya, ikuti petunjuk berikut ini.
- Buka SDK Manager.
- Pilih SDK Update Sites, kemudian hidupkan Intel HAXM.
- Tekan OK.
- Cari berkas installer-nya di directory folder sdk komputer anda, ~sdk\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm-android.exe.
- Jalankan installer dan ikuti petunjuknya sampai selesai
Menginstal Kernel-based Virtual Machine (KVM) untuk Pengguna Linux
Karena HAXM hanya untuk Windows dan Mac, bagaimana dengan sistem operasi Linux? Untuk Linux, Anda harus menginstal KVM. Sistem operasi Linux dapat support accelerated virtual machine dengan menggunakan KVM.
Menggunakan Emulator
Setelah Anda memastikan bahwa virtualization bisa berjalan di komputer Anda, ikuti langkah-langkah berikut untuk menjalankan aplikasi kita dengan menggunakan emulator built-in dari Android Studio.
Run dengan device
Bila Anda hendak melakukan run atau debugging, lebih baik Anda menjalankannya pada peranti smartphone asli. Running dengan menggunakan peranti memiliki beberapa kelebihan jika dibandingkan dengan emulator yaitu :
- Lebih cepat;
- Fitur seperti geo-location, push notif bisa digunakan;
- Bisa mengetahui daya serap baterai terhadap aplikasi.
- Lebih mudah
Jika Anda belum memahami berkas APK, maka Anda dapat menyamakannya dengan berkas exe di windows atau ipa di iOS.
Cara membuat file APK di Android terbilang cukup mudah. Anda dapat menggunakan sebuah wizard atau melalui command line. Pada modul ini, kita akan fokus menggunakan wizard.
Membuat APK dapat dibagi menjadi 2:
- Dengan menggunakan default keystore
- Dengan menggunakan custom keystore
- Sistem Operasi Android mewajibkan semua APK di-sign sebelum terpasang ke dalam device.
- Proses signing ini membutuhkan Public dan Private Key.
- Proses signing ini berlangsung selama pembuatan APK dalam mode debug maupun released.
- Sebuah sertifikat digital public key, atau identity certificate, berisi informasi mengenai sertifikat itu sendiri dan metadata dari pemilik sertifikat tersebut. Pemilik sertifikat ini biasanya adalah developer yang mengembangkan aplikasi.
- Public key yang digunakan dalam proses signing di atas akan dilampirkan di dalam berkas APK. Proses ini dilakukan secara otomatis oleh Android Studio.
- Ketika Anda hendak memperbarui Aplikasi Anda pada Google Play, maka Google Play hanya akan menerimanya bila keystore yang digunakan sama dengan keystore yang pertama kali Anda gunakan ketika mengunggah Aplikasi tersebut ke Google Play.
- Untuk integrasi ke layanan Google seperti Google Maps dengan menggunakan nilai hash (digest SHA1) di dalamnya.
- Untuk integrasi ke layanan API Facebook dengan menggunakan key hash base64 yang terkandung di dalam keystore.
Berikut adalah tips yang bisa Anda gunakan untuk mengamankan keystore :
- Pilih kata kunci (password) yang sulit ditebak, kombinasikan angka, alfabet dan simbol dalam membuatnya.
- Bedakan antara keystore password dan key password ketika membuat berkas APK dengan custom keystore.
- Jangan memberikan keystore kepada orang yang tidak dipercaya apalagi meletakannya didalam berkas proyek aplikasi.
- Letakan ditempat yang kamu ingat dan pastikan aman.
Activity
Merupakan satu komponen yang berhubungan dengan pengguna. Activity menangani window (tampilan) mana yang akan di tampilkan ke dalam interface (antarmuka).
Activity memiliki daur hidup (life cycle) tersendiri yang dimulai dari onCreate hingga onDestroy.
Intent
Komunikasi antar komponen di dalam sebuah aplikasi merupakan hal yang sangat sering dilakukan. Inilah peran dari suatu intent. Beberapa fungsi dari intent adalah dapat digunakan untuk menjalankan sebuah activity, mengirimkan pesan ke broadcast receiver, dan dapat juga digunakan untuk berkomunikasi dengan service yang sedang berjalan.
Fragment
Merupakan komponen view yang fleksibel dan dapat disisipkan pada sebuah tampilan dari activity. Fragment memiliki daur hidup sendiri sehingga tidak tergantung pada activity yang disisipkan.
Fragment digunakan untuk memecah komponen pada aplikasi agar bisa lebih fleksibel dan mudah untuk digunakan.
Threads
Semua proses yang ada di dalam sebuah aplikasi ada di dalam thread. Secara default, proses yang tampil di layar merupakan proses yang ada di dalam main thread / ui thread.
Bukan hanya main thread saja yang bisa kita gunakan, kita bisa membuat thread baru yang terpisah dari main thread agar tidak menggangu proses rendering tampilan di layar. Beberapa komponen yang bisa Anda gunakan adalah seperti handler dan asynctask.
Service
Service merupakan komponen tidak terlihat yang dapat digunakan untuk menjalankan suatu proses di dalam aplikasi. Service biasanya digunakan untuk menjalankan proses yang memakan waktu lama atau yang membutuhkan komputasi intensif. Contohnya adalah pemutar musik dan blocking operation untuk networking.
Receiver
Receiver menggunakan pola publish-subscribe. Ketika terjadi sebuah event dibangkitkan (di-publish), komponen lain yang telah mendaftar untuk mendengarkan event tersebut (subscribed) dapat menjalankan perintah-perintah tertentu.
References:
Menjadi Android Developer Expert
To keep in touch :
Instagram : @patrick_vivo
Pinterest : Patrick Ananta
Twitter : @AnantoPatrick
Facebook : Patrick Ananta
Google+ : Patrick Ananta
MATUR SUWUN!
No comments:
Post a Comment