Mengenal komponen Android merupakan hal yang sangat penting bagi orang yang sedang belajar Android, terlebih untuk para pemula. Kali ini kita akan membahas empat komponen paling penting yang memegang peran kunci dalam membuat aplikasi atau game Android. Ketika kalian membuat aplikasi Android dengan Android Studio, Eclipse atau aplikasi hp (AIDE, Anacode IDE atau Java N-IDE), Android SDK akan meng-compile file-file Java dan file-file di resources (audio,video,gambar, dll) dan mengemas menjadi berkas Android Package (APK). File "Apk" itulah yang disebut aplikasi atau game Android. File berekstensi 'apk' tersebut meskipun bisa langsung kita instal di hp, tidak bisa langsung diupload ke Playstore.
File apk yang kita buat di hp harus "ditandatangani" dengan "keystore" milik kita yang bisa kalian buat dengan apksigner. Keystore itu berisi data tentang developer atau pembuat game, alias, password, masa berlaku game (misal: 30tahun), serta alamat kalian, dll. Dengan adanya keystore itu, kita menjadi tahu bahwa aplikasi tersebut memang buatan kalian. Untuk diupload ke Playstore juga harus di "zipalign". Apksigner juga bisa mengaktifkan fitur zipalign meskipun menurut sebagian pemakai kadang error. Saya ketika memakainya, setelah membeli di Playstore sekitar Rp19rb (Rp23rb dg pajak) memakai pulsa telkomsel, berhasil membuat keystore dan men"zipalign" aplikasi saya. Aplikasi pertama saya yaitu Terus Belajar 1.0.0.apk berhasil saya upload di getjar meskipun saat itu belum di"sign" dengan keystore saya, masih memakai keystore default dari Java N-IDE.
Ketika sebuah aplikasi atau game Android diinstal di smartphone dengan system operasi (OS) Android, System Android yang berbasis Linux memberi ID yang unik untuk tiap aplikasi atau game. Tiap aplikasi Android dijalankan di prosesnya masing-masing, begitu pula komponen dari tiap aplikasi dijalankan oleh VM (Virtual Machine). Secara default, sebuah aplikasi Android tidak bisa menggunakan data dari aplikasi lain dalam satu hape. Satu aplikasi juga tidak bisa memakai komponen dari aplikasi lain. Hal itu untuk menjaga keamanan aplikasi tersebut. Akan tetapi, aplikasi kita bisa mengakses data dan menggunakan komponen dari Aplikasi lain di satu hp jika mendapat izin dari system Android dan dari pemilik aplikasi. Misalnya, aplikasi ebook reader buatan kalian bisa memakai aplikasi kamus eksternal tanpa membuka secara langsung kamus tersebut untuk menterjemahkan kata secara langsung.
Ada 4 komponen sangat penting di Android. Kali ini kita akan sedikit mengetahui keempat komponen tersebut dan fungsinya masing-masing secara ringkas. Keempat komponen tersebut sangat penting karena "membungkus" atau sebagai "wadah" dari komponen-komponen "kecil" di Android. Keempat komponen besar itu ialah Activity, Service, BroadcastReceiver, dan ContentProvider. Nama-nama tersebut adalah nama dari "class" masing-masing yang ada di Android API. Kita pernah membahas tentang istilah class di Android. Class adalah bahan untuk membuat objek. Class Activity dan lainnya digunakan untuk membuat objek (instance) dari Activity atau jenis kelas tersebut. Untuk lebih memahami apa itu class dan objek Activity, kita perlu mengetahui dahulu fungsi umum dari keempat komponen tadi.
Activity adalah komponen Android yang memegang peran super penting karena komponen inilah yang menyediakan layar di aplikasi kita, yang di layar itulah kita menampilkan objek, misalnya: tombol, animasi, gambar, game, dll. Jadi, ketika kita ingin membuat layar menu utama, layar untuk menampilkan score game, untuk menampilkan "help" atau panduan dalam memainkan game, layar untuk menampilkan "setting" aplikasi atau game, kita memerlukan komponen Activity ini. Komponen berikutnya adalah Service. Service adalah komponen Android yang berguna untuk melakukan pekerjaan jangka panjang di background sehingga umumnya tidak membutuhkan layar. Contoh operasi atau pekerjaan di background dari sebuah aplikasi yaitu memainkan audio mp3, mendownload data dari internet, dll. Pekerjaan seperti itu memang pantas kita taruh di background agar di layar depan (foreground) kita bisa melakukan pekerjaan yang lain, misalnya browsing.
Komponen penting ketiga adalah BroadcastReceiver. Seperti tersirat dari namanya, komponen ini berfungsi untuk menerima atau mengirimkan pemberitahuan, info atau notifikasi dari system Android atau dari aplikasi lain kepada kita, misal notifikasi tentang "low battery", notifikasi tentang "download complete", dll. Info tersebut kemudian ditampilkan di notification bar. Komponen keempat yaitu ContentProvider. Komponen ini berfungsi untuk mengatur atau mengelola akses atau penggunaan data dari aplikasi lain oleh aplikasi kalian, misalnya, kalian membuat aplikasi untuk nelpon. Aplikasi kalian harus memakai komponen ini agar bisa mengakses atau memakai data berupa Contacts di hp kalian.
Ketika kita membuat aplikasi Android sederhana seperti aplikasi "helloworld", kita tidak perlu membuat ketiga komponen di atas (Service, BroadcastReceiver, ContentProvider). Kita cukup membuat komponen Activity untuk menyediakan layar yang kita pakai untuk menampilkan teks "hello world". Bagaimana cara membuat komponen Activity, Service, BroadcastReceiver, dan ContentProvider? Untuk saat ini kita tidak perlu membahas hal itu. Yang paling kita perlukan untuk membuat aplikasi HelloWorld Android adalah komponen Activity. Pembahasannya tentu lebih pas ketika kalian membuat aplikasi Android Hello World. Aplikasi paling sederhana tapi sangat penting untuk memahami aplikasi yang lebih kompleks.
Selain empat komponen di atas yang membutuhkan kemampuan coding bahasa Java kalian, ada file-file penting yang kalian butuhkan untuk melengkapi aplikasi atau game Android kalian, misalnya: logo, icon, gambar, layout, text, animasi, suara, menu, dll. File-file ini bisa kalian simpan di folder 'res/' di projek kalian (di Java N-IDE). Di dalam folder ini ada subfolder: res/drawable/ untuk menyimpan logo atau icon aplikasi kalian yang terlihat di homescreen hp, dan juga gambar-gambar lainnya yang kalian perlukan. Ada subfolder "res/layout/" untuk menyimpan file layout xml untuk mengatur tampilan objek statis di layar aplikasi (misal: menu utama yang berisi teks atau tombol). Ada juga subfolder "res/values/" untuk menyimpan teks di aplikasi kalian dan untuk membuat alternatif berbagai bahasa sehingga aplikasi Android kalian bisa diinstal dengan berbagai bahasa. Dan masih ada beberapa subfolder yang bisa kalian tambahkan untuk mengatur menu, animasi, dll.
Selain 4 komponen Android dan file-file di folder resources (res), ada file ber-ekstensi ".xml" di bagian terluar projek jika kalian membuat aplikasi Android dengan Java N-IDE, Android IDE, dll. File itu namanya "AndroidManifest.xml" yang letaknya di root projek bersama folder yang lain. AndroidManifest memainkan peranan yang tidak kalah penting dengan empat komponen dan file resources tadi. Hal itu karena AndroidManifest merupakan file xml yang menyimpan karakteristik utama dari aplikasi atau game Android yang kalian buat. File manifest ini seperti "daftar isi" dari aplikasi Android yang kalian buat, berisi nama komponen yang ada di aplikasi, versi Android minimum yang bisa menginstal aplikasi kalian, fitur bluetooth, openGLES, membatasi ukuran layar hp yang bisa memainkan game kalian, dan lainnya. Intinya setiap komponen empat dan fitur-fitur utama dari aplikasi kalian harus ditulis di AndroidManifest ini. Jika ada komponen (misal: Activity untuk membuka Score) di game kalian yang tidak ditulis di manifest ini, game kalian akan "force closed" ketika kalian mengklik tombol untuk melihat score.
Demikianlah bagian awalan yang sangat penting bagi kalian yang sedang mencari tutorial cara membuat aplikasi Android sederhana di hp tanpa PC atau Laptop. Bagi kalian yang memakai Android Studio juga perlu banget mengenal keempat komponen tadi karena merupakan tulang punggung aplikasi Android. Setelah mengenal secara ringkas empat komponen penting Android, kalian bisa mengenal lebih dekat komponen Activity di pembahasan aplikasi hello world dan pembahasan Activity lifecycle. Activity lifecycle atau siklus aktif komponen Activity sangat vital untuk diketahui agar tidak salah tempat ketika menulis code Java. Thanks.
No comments:
Post a Comment
Silahkan kalian berkomentar dengan sopan, komentar kalian berguna untuk kemajuan blog ini