Sharing Knowledge

« Arsitektur dan Aplik... | Main | Create UI (User... »
Thursday Apr 22, 2010

Android Terminology

Aplikasi Android ditulis dalam bahasa pemrograman Java. Kode Java dikompilasi bersama dengan file data dan resource yang dibutuhkan oleh aplikasi dan dibundel dengan alat Aapt atau Android Aset Packaging Tool yang termasuk dalam alat / direktori SDK dalam satu paket Android. Alat ini memungkinkan anda untuk melihat, membuat, dan memperbarui arsip kompatibel Zip (zip, jar, APK). Jadi arsip file ditandai dengan akhiran APK. File ini adalah ?kendaraan? untuk mendistribusikan aplikasi dan installasi pada perangkat mobile. Kemudian user men-download file untuk ditaruh di perangkat mereka. Semua kode dalam satu file APK dianggap satu aplikasi.


Aplikasi Komponen

Sebuah fitur utama Android adalah satu aplikasi yang dapat menggunakan unsur-unsur aplikasi lain. Misalnya, jika aplikasi anda perlu menampilkan scroll gambar namun ada aplikasi lain yang telah mengembangkanya, maka anda hanya perlu memanggil scroller tersebut untuk melakukan pekerjaan tanpa harus mengembangkannya sendiri.

Cara kerjanya, sistem harus mulai melakukan proses aplikasi ketika ada bagian yang diperlukan untuk di instansiasi object Java nya. Oleh karena itu tidak seperti sistem aplikasi lainnya, Android tidak memiliki entry point tunggal untuk semua aplikasi (misalnya Android tidak mempunyai fungsi main() method ). Namun sebaliknya Android memiliki komponen penting dimana sistem dapat meng-instansiasi object dan menjalankannya sesuai kebutuhan. Komponen ? komponen tersebut yaitu :

1. Activities
Aktivity adalah sebuah layar tunggal dari user interface. Activity ini dapat memegang hirarki view untuk memberikan fungsi ? fungsi yang dibutuhkan oleh user interface. Dalam sebuah aplikasi bisa terdapat satu atau lebih Activity. Sebagai contoh sebuah aplikasi pesan teks mungkin memiliki satu Activity yang menunjukkan daftar kontak untuk mengirim pesan, Activity kedua untuk menulis pesan ke kontak yang dipilih, dan Activity lainnya untuk memeriksa pesan lama atau pengaturan perubahan. Meskipun mereka bekerja bersama untuk membentuk sebuah user interface yang kohesif, namun setiap aktivity adalah independen atau berdiri sendiri. Jadi masing-masing diimplementasikan sebagai subclass dari kelas dasar Activity.

Setiap Activity mempunyai window yang berisi screen. Konten visual dari window disediakan oleh hierarki View. Sebuah Hierarki View berada dalam method Activity setContextView(). Objectnya berasal dari kelas dasar View. Android mempunyai sejumlah View yang sudah dapat digunakan seperti Text field, Edit Text, Scrollbar, Menu, CheckBox, Button, RadioButton.

Activity Lifecycle atau siklus Activity
Diagram berikut menunjukkan siklus penting dari suatu Activity. Kotak persegi panjang merupakan callback method yang di implementasikan untuk melakukan operasi disaat Activity bergerak. Sedangkan Oval berwarna adalah Activity utama


Method

Description

onCreate()

Method yang dipanggil saat Activity pertama kali dibuat

onRestart()

Method yang dipanggil setelah Activity berhenti dan sesaat sebelum mulai start lagi

onStart()

Method yang dipanggil ketika Activity sedang running

onResume()

Method yang dipanggil saat Activity sedang berinteraksi dengan pengguna

onPause()

Method yang dipanggil ketika sistem akan mulai melanjutkan Activity sebelumnya. Hal ini biasanya digunakan untuk melakukan perubahan terhadap data yang belum disimpan terus-menerus, menghentikan animasi dll. Implementasi metode ini harus dilakukan sangat cepat karena Activity berikutnya tidak akan dilanjutkan sampai method ini kembali.

onStop()

Method yang dipanggil saat Activity sedang berhenti. Hal ini bisa terjadi karena Activity baru sedang dimulai atau start

onDestroy()

Method ini dipanggil ketika sistem dalam proses finishing.


Perhatikan kode HelloWorld.java dibawah ini :

package android.hello;

import android.app.Activity;

import android.os.Bundle;

public class HelloWorld extends Activity {

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.hello);

}

}

Kode diatas menunjukkan bahwa kelas HelloWorld extends ke Activity. method onCreate() secara otomatis dipanggil ketika Activity pertama kali dibuat. Sedangkan method setContentView(R.layout.hello) untuk me-load View atau User Interface yang sudah dibuat di hello.xml

2. Service
Service adalah kelas tanpa user interface (Activity adalah kelas dengan UI), sehingga dapat dijalankan di background dalam thread yang terpisah. Contoh kerja service adalah ketika anda sedang mendengarkan musik, kemudian anda ingin mengirim sms atau email. Dalam kasus ini tentu saja anda bisa melakukan keduanya karena ketika anda mengirim sms atau email, musik akan bekerja sebagai background

3
. Content Providers
Sebuah Content Provider atau penyedia konten menyimpan data yang dapat di akses oleh aplikasi lain. Jadi disini bisa berbagi data dengan berbagai aplikasi yang disimpan dalam paket android.provider. Jenis data yang disimpan adalah jenis data yang umum seperti audio, video, informasi contact dll.

Sebenarnya Content Provider juga menyimpan data di user interface sebagai penyedia query dan pengembalian nilai data seperti untuk menambah, mengubah dan menghapus data. Data ini dapat disimpan dalam file atau database SQLite.

4. Event
Event adalah sesuatu yang terjadi dari ?luar?, sesuatu yang tidak kita kontrol dan sesuatu yang kita tidak tahu kapan akan terjadi. Untuk itu kita menggunakan Events Controllers untuk setiap event yang bisa terjadi. Ada beberapa macam Event Controller seperti Event Listener, Event Handler, Touch Mode dan Handling focus.

1.
Event Listener
Event Listener adalah sebuah objek yang diberitahu pada saat suatu event terjadi pada event source. Event listener diimplementasikan ke dalam bentuk method dalam suatu interface.
Berikut ini method method yang termasuk event listener user interface :

  1. onCLick()
    Method yang berasal dari View.onCLickListener. Method ini dipanggil ketika user menyentuh item (jika dalam modus sentuh), fokus pada item dengan tombol navigasi, menekan tombol ?enter? ataupun ketika menekan tombol diatas trackball


  2. onLongClick ()
    Method yang berasal dari
    View.OnLongClickListener. Untuk fungsi pemanggilan methodnya sama dengan method onClik()

  3. onFocusChange ()
    Method dari View.OnFocusChangeListener. Method dipanggil apabila pengguna menavigasi ke atau dari item dengan menggunakan tombol navigasi atau trackball


  4. onKey ()
    Berasal dari View.OnKeyListener. Method ini dipanggil saat user difokuskan pada item dan menekan tombol pada device


  5. onTouch ()
    Method dari View.OnTouchListener. Pemanggilan method ini ketika pengguna melakukan suatu tindakan yang memenuhi syarat sebagai touch event, termasuk menekan atau melakukan gerakan gerakan di layar (dalam batas-batas item)

  6. onCreateContextMenu ()
    Method berasal dari View.OnCreateContextMenuListener. Method ini dipanggil ketika menu konteks sedang dibangun (sebagai hasil dari klik "long click")

Dibawah ini menunjukkan contoh bagaimana meregistrasikan onclick listener disebuah button.

public class ExampleActivity extends Activity implements OnClickListener {

protected void onCreate(Bundle savedValues) {

...

// capture our button from layout

Button button = (Button)findViewById(R.id.buttonView);

button.setOnClickListener(this);

}

// Implement the OnClickListener callback

public void onClick(View v) {

// do something when the button is clicked

}

...


2. Event Handlers
Event adalah sebuah message yang dikirim oleh sebuah object untuk menandai kejadian sebuah aksi. Handler adalah sebuah method yang akan diisikan (atau diikatkan) pada event. Jadi event handler adalah suatu fungsi atau method yang mengandung statement program untuk menangani input yang diterima ke dalam event. Berikut ini merupakan method ? method event handling :
- onKeyUp()
- onKeyDown()
- onTrackballEvent()
- onTouchEvent()
- onFocusChanged()

5. Resources
Resource adalah elemen externall yang kita gunakan dalam aplikasi. Resource disimpan dalam file xml yang berada dalam ?res? folder. Resource tersedia dalam kode java menggunakan ?R.java? file. File ?R.java? ini untuk menghubungkan sumber daya visual (dari main.xml) ke kode sumber java (file java yang berada di Activity kelas)

 

_netoya_

Comments:

Post a Comment:
  • HTML Syntax: Allowed