18 Maret 2012

Cara Kerja Aplikasi Android

Sudah sekitar sebulan belajar android dengan cara menterjemahkan tutorial yang ada di developer.android.com. Sudah lumayan banyak hal-hal mengenai andoid yang sudah saya baca, saya artikan dan saya pelajari. Mulai apa itu android, dasar aplikasinya, dan pola pikir pengembangan aplikasinya. Saya rasa sekarang saatnya saya membuat rangkuman mengenai cara kerja aplikasi android yang sudah saya pelajari selama ini.

Konsep pengembangan aplikasi android

Dalam pengembangan aplikasi android, konsep yang dipakai adalah memisahkan coding untuk logic (algoritma) aplikasi dan coding untuk tampilan (user interface) aplikasi. Untuk coding logic (algoritma) android menggunakan bahasa pemrograman yang 90% sama dengan bahasa pemrograman java. Perbedaan sintaksnya mungkin hanya terletak pada penanganan sumberdaya hardware. Sedangkan untuk pengaturan tampilan, android menggunakan XML. Konsep ini diinspirasikan dari pengembangan aplikasi web dimana coding untuk logic menggunakan PHP dan coding untuk tampilan menggunakan html, css dan javascript. Keuntungan dari konsep ini adalah apabila kita ingin merubah tampilan dari aplikasi, kita hanya cukup merubah coding pada bagian tampilan aplikasi tanpa perlu terlalu memperhatikan coding logic aplikasi.

Langkah kerja aplikasi android

Catatan: Untuk lebih mudah memahami, sebaiknya anda buat sebuah aplikasi sederhana, yaitu HelloWorld. Kita akan belajar lebih lanjut dari kode yang dibuat secara otomatis oleh Eclipse.

Langkah kerja aplikasi android yang saya maksud disini adalah dimulai ketika kita klik (touch) aplikasi kita di perangkat android. Setelah kita klik aplikasi, sistem android pertama kali akan memeriksa file AndroidManifest.xml pada project kita. Dalam file tersebut, sistem android akan mencari sebuah element <activity> yang ditetapkan sebagai LAUNCHER, ditandai dengan memiliki elemen <category> dengan atribut android:name="android.intent.category.LAUNCHER". Kita lihat file AndroidManifest.xml dalam aplikasi HelloWorld.

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.pupil.HelloWorld"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="10" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".HelloWorldActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>
Dalam contoh aplikasi HelloWorld ini, sistem akan pertama kali menjalankan activity HelloWorldActivity.

HelloWorldActivity.java

Seperti dijelaskan dalam konsep, file inilah yang mengatur logic dari aplikasi HelloWorld. Berdasarkan informasi yang ada di AndroidManifest.xml, maka file inilah yang akan dijalankan pertama kali ketika user ingin menjalankan aplikasi. Mari kita perhatikan code pada file ini:

package com.pupil.HelloWorld;

import android.app.Activity;
import android.os.Bundle;

public class HelloWorldActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}
Class HelloWorldActivity merupakan sebuah class turunan dari class Activity. Metode onCreate pada class diatas akan dipanggil ketika activity ini ingin dijalankan (ditampilkan di layar). Yang perlu kita perhatikan disini adalah pada baris setContentView(R.layout.main);. Artinya, file xml yang akan digunakan menjadi tampilan activity ini adalah pada file dengan nama main.xml dalam folder res/layout/ pada project kita.

main.xml

File inilah yang mengatur tampilan, sesuai dengan parameter yang diberikan ke metode setContentView(). Mari kita lihat kode pada file ini.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />

</LinearLayout>
LinearLayout merupakan format layout yang paling sering digunakan dalam aplikasi Android. Format ini menempatkan menampilkan komponen UI (button, textview, dll) secara berurutan berdasarkan penulisannya. Seperti namanya, TextView digunakan untuk menampilkan text. Text yang ditampilkan langsung ditulis atau merupakan referensi ke variable string dalam res/values/strings.xml. Dalam contoh di atas, text yang akan ditampilkan adalah string dengan nama "hello".

strings.xml

Dalam file inilah biasanya string yang akan ditampilkan disimpan, berikut ini adalah contoh kodenya.
<?xml version="1.0" encoding="utf-8"?>
<resources>

    <string name="hello">Hello World, HelloWorldActivity!</string>
    <string name="app_name">HelloWorld</string>

</resources>


Tidak ada komentar:

Posting Komentar