Pages

Jumat, 31 Mei 2013

Konsep Umum Pemrograman Android

Perangkat berbasis android hanya mempunyai satu layar foreground. Normalnya saat menghidupkan android, yang pertama Kamu lihat adalah home. Kemudian bila Kamu menjalankan sebuah aplikasi catur, User Interfacenya (UI) akan menumpuk diatas layar sebelumnya (home). Kemudian bila melihat help-nya catur, maka UI help akan menimpa UI sebelumnya (catur), begitu seterusnya. Semua proses diatas direkam di application stack oleh sistem Activity manager. Menekan tombol back hanya kembali ke halaman sebelumnya, analoginya mirip dengan browser dimana ketika Kamu meng-klik tombol back browser akan kembali menampilkan halaman sebelumnya. Setiap User Interface diwakili oleh kelas Activity (Activity class). Setiap activity mempunyai siklus, dapat dilihat di gambar 1.14. Sebuah aplikasi dapat terdiri dari satu atau lebih activity yang diproses dalam Linux. Jika Kamu bingung dengan penjelasan ini, jangan terlalu dipikirkan. Tetap saja maju terus, Kamu akan paham setelah benar-benar mempraktikkan latihan-latihan dalam buku ini.





Siklus activity Selama siklus ini berjalan, activity bisa mempunyai lebih dari 2 status seperti yang terlihat pada gambar 1.14. Kita tidak bisa mengontrol setiap status karena semuanya sudah ditangani oleh sistem. Namun kita akan mendapat pesan saat terjadi perubahan status melalaui method onXX(). Berikut penjelasan setiap status.

onCreate(Bundle)
Dipanggil saat pertama kali aplikasi dijalankan. Kita dapat menggunakan ini untuk deklarasi variabel atau membuat user interface.
onStart()
Mengindikasikan activity yang ditampilkan ke pengguna (user).
onResume()
Dipanggil saat applikasi kita mulai berinteraksi dengan pengguna. Disini sangat cocok untuk meletakkan animasi ataupun musik.
onPause()
Dipanggil saat applikasi yang Kita jalankan kembali ke halaman sebelumnya atau biasanya karena ada activity baru yang dijalankan. Disini cocok untuk meletakkan algoritma penyimpanan (save).
onStop()
Diapnggil saat aplikasi Kita berjalan di belakang layar dalam waktu cukup lama.
onRestart()
Activity kembali menampilkan user interface setelah status stop.
onDestroy()
Dipanggil saat aplikasi benar-benar berhenti.
onSaveInstanceState(Bundle)
Method ini mengijinkan activity untuk menyimpan setiap status intance. Misalnya dalam mengedit teks, kursor bergerak dari kiri ke kanan.
onRestoreInstanceState (Bundle)
Diapanggil saat activity kembali meng-inisialisasi dari status sebelumnya yang disimpan oleh onSaveInstanceState(Bundle).
Sebagai programer, Kamu harus mengetahui beberapa komponen aplikasi yang sangat penting seperti activities, intens, service, dan content providers.

a. Activity
Normalnya setiap activity menampilkan satu buah user interface kepada pengguna. Misalnya sebuah activity menampilkan daftar menu minuman, kemudian pengguna dapat memilih satu jenis minuman. Contoh lainnya pada aplikasi sms, dimana satu activity digunakan untuk menulis pesan, activity berikutnya untuk menampilkan nomor kontak tujuan, atau activity lainnya digunakan untuk menampilkan pesan-pesan lama. Meskipun activity-activity diatas terdapat dalam satu aplikasi sms, namun masing-masing activity berdiri sendiri. Untuk pindah dari satu activity ke activity lainnya dapat melakukan suatu event misalnya tombol diklik atau melalui trigger tertentu.
b. Service

Service tidak memliki user interface, namun berjalan di belakang layar. Misalnya music player, sebuah activity digunakan untuk memilih lagu kemudian di-play. Agar music player bisa berjalan dibelakang aplikasi lain maka harus menggunakan service.
c. Intens

Intens adalah mekanisme untuk menggambarkan sebuah action secara detail seperti bagaimana cara mengambil sebuah poto.
d. Content Providers

Menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya kita menggunakan applikasi berbasis peta (MAP). Activity membutuhkan cara untuk mengakses data kontak untuk prosedur navigasi. Disinilah peran content providers. Resource Resource digunakan untuk menyimpan file-file non-coding yang diperlukan pada sebuah aplikasi misalnya file icon, file gambar, file audio, file video atau yang lain. Gambar berformat JPG atu PNG sebuah aplikasi biasanya disimpan dalam folder res/drawable, icon applikasi disimpan dalam res/drawable-ldpi dan file audio disimpan dalam folder res/raw. File XML untuk membentuk sebuah user interface disimpan dalam folder res/layout.



Reade more >>

Kamis, 02 Mei 2013

Arsitektur Android

Diagram berikut menunjukkan komponen-komponen utama dari sistem operasi Android
Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari sistem operasi. Berikut ini susunan dari lapisan – lapisan tersebut jika di lihat dari lapisan dasar hingga lapisan teratas:



  • Linux Kernel
Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun sistem Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware.
Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software.Sebagai contoh, HTC GI dilengkapi dengan kamera. Kernel Android terdapat driver kamera yang memungkinkan pengguna mengirimkan perintah kepada hardware kamera.
  • Android Runtime
Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine.
Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar bahasa pemrograman Java.
Dalvik adalah Java Virtual Machine yang memberi kekuatan pada sistem Android. Dalvik VM ini di optimalkan untuk telepon seluler. Setiap aplikasi yang berjalan pada Android berjalan pada processnya sendiri, dengan instance dari Dalvik Virtual Machine.
  • Libraries
Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set library-library dalam bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada sistem Android. Kemampuan ini dapat diakses oleh programmer melewati Android application framework. Sebagai contoh Android mendukung pemutaran format audio, video, dan gambar.
Berikut ini beberapa core library tersebut :
System C library
diturunkan dari implementasi standard C system library (libc) milik BSD, dioptimasi untuk piranti embedded berbasis Linux
Media Libraries
berdasarkan PacketVideo's OpenCORE, ibrary-library ini mendukun playback dan recording dari berbadai format audio and video populer, meliputi MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
Surface Manager
mengatur akses pada display dan lapisan composites 2D and 3D graphic dari berbagai aplikasi
LibWebCore
web browser engine modern yang mensupport Android browser maupun embeddable web view
SGL
dengan dasar 2D graphic engine
3D libraries
implementasi berdasarkan OpenGL ES 1.0 APIs. Library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer
FreeType
bitmap dan vector font rendering
SQLite
relational database engine yang powerful dan ringan tersedia untuk semua aplikasi

  • Application Framework
Lapisan selanjutnya adalah application framework, yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application Framework merupakan serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar - proses atau program, dan pelacakan lokasi fisik telepon. Para pengembang aplikasi memiliki aplikasi penuh kepada tool-tool dasar tersebut, dan memanfaatkannya untuk menciptakan aplikasi yang lebih kompleks.
Programmer mendapatkan akses penuh untuk memanfaatkan API-API (Android Protocol Interface) yang juga digunakan core applications. Arsitektur aplikasi didesain untuk menyederhanakan pemakaian kembali komponen-komponen, setiap aplikasi dapat menunjukkan kemampuannya dan aplikasi lain dapat memakai kemampuan tersebut. Mekanisme yang sama memungkinkan pengguna mengganti komponenkomponen yang dikehendaki. Di dalam semua aplikasi terdapat servis dan sistem yang meliputi :
• Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grids, text boxes, buttons, dan embeddable web browser
Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya.
Resource Manager , menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files
Notification Manager yang memungkinkan semua aplikasi untuk menampilkan custom alerts pada the status bar
Activity Manager yang memanage life cycle of dari aplikasi dan menyediakan common navigation backstack
  • Application
Di lapisan teratas bercokol aplikasi itu sendiri. Di lapisan inilah anda menemukan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. Bagi rata-rata pengguna, lapisan inilah yang paling sering mereka akses. Mereka mengakses fungsifungsi dasar tersebut melalui user interface.



Reade more >>

Translate