Pertemuan 5
Pertemuan 5
Android memiliki siklus hidup Activity. Tujuan dari siklus hidup ini adalah untuk mengelola
memori atau aktifitas processor secara mandiri. Sejauh ini kita sering menjumpai method
onCreate() method tersebut merupakan salah satu dari siklus hidup dari Android. Berikut adalah
siklus hidup dari Android :
Activity Manager memanajemen life cycle dari aplikasi dan menyediakan navigasi backstack.
Lifecycle dari android terdiri dari bebreapa bagian diantaranya :
a. onCreate
Metode yang dipanggil ketika activity pertama di buat. Didalam metode ini dapat di deklarasikan
berbagai variable yang akan digunakan.
b. onStart
Metode yang dipangil ketika activity di tampilkan ke user pengguna.
c. onResume
Metode yang dipanggil ketika activity di resume kembali atau di tampilkan kembali pada
saat posisi activity onPause.
d. onPause
Metode yang dipanggil ketika activity dalam keadaan pause tidak melakukan kegiatan apa-apa.
Sehingga proses dari activity tersebut dapat dijalankan di background proses.
e. onStop
Metode yang dipanggil ketika activity dalam keadaan stop atau dalam keadaan lama tidak
ditampilkan ke user.
f. onDestroy
Methode yang dipanggil sebelum acitivity di destroy.
Secara default Android sudah memanagement lifecycle sendiri, namun untuk meningkatkan
performa dari aplikasi kita dapat mengimplementasikan method-method lifecycle android.
Beberapa manfaat jika kita mengimplementasikannnya :
1. Aplikasi kita tidak crash jika menerima panggilan telfon atau berpindah ke aplikasi lain.
2. Tidak mengkonsumsi daya berlebih jika user tidak menggunakan aplikasi kita.
3. Tidak kehilangan progress dari aplikasi kita ( biasannya diterapkan pada game).
4. Tidak crash saat layar dalam mode rotated.
IMPLEMENTASI
1. Buat project baru!
2. Pada main activity implementasikan method yang ada pada lifecycle !
@Override
protected void onPause() {
super.onPause();
Toast.makeText(this, "onPause executed", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStop() {
super.onStop();
Toast.makeText(this, "onStop executed", Toast.LENGTH_SHORT).show();
}
@Override
protected void onRestart() {
super.onRestart();
Toast.makeText(this, "onRestart executed", Toast.LENGTH_SHORT).show();
}
@Override
protected void onStart() {
super.onStart();
Toast.makeText(this, "onStart executed", Toast.LENGTH_SHORT).show();
}
@Override
protected void onDestroy() {
super.onDestroy();
Toast.makeText(this, "onDestroy executed", Toast.LENGTH_SHORT).show();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
WIDGET DASAR
Setiap widget (Komponen) memiliki property atau atribut yang mengatur bagaimana widget itu
ditampilkan, seperti tinggi dan lebar widget. Property ini dapat diset melalui xml layout, property
editor atau melalui program. Beberapa widget memiliki beberapa event yang ter-trigger
berdasarkan aksi dari pengguna, misalnya event click pada button.
Text View
TextView digunakan untuk menampilkan label teks. View ini sudah kita gunakan Beberapa
contoh property dari TextView adalah android:textSize untuk mengatur ukuran,
android:textStyle untuk mengatur apakah font bold atau italic, android:textColor dsb.
Selain melalui property editor, property juga dapat diedit langsung melalui xml. Pindah dari
mode graphical layout ke mode xml (gambar bawah)
Lihat XML untuk textview dan tambahkan android:textStyle = “bold” (code bawah)
Sekarang kita coba mengganti property melalui code. Melalui property editor, ganti id textview
menjadi tvHalo, simpan dengan ctrl-S. Lalu masuk ke MainActivity.java, tambahkan code
berikut di bagian onCreate.
EditText
EditText digunakan untuk menerima input dari pengguna. Pada palette telah disediakan berbagai
jenis EditText, silahkan dicoba satu persatu dan perhatikan property setiap widget .
CheckBox
User dapat memilih lebih dari satu pilihan dengan checkbox. Pada palette, Checkbox ada di
bagian FormWidgets.
Coba tambahkan dua checkboxs, lalu set atribut id dan text melalui window property. Satu
bertuliskan “Java”, dan satunya “PHP” sehingga hasilnya seperti ini:
Tambahkan Button dan TextView di form untuk menampilkan hasil pilihan user. Sehingga
tampilannya akan seperti ini.
Sedangkan XML-nya akan seperti ini, anda dapat langsung mengedit file XML ataupun melalui
window property. Yang terpenting adalah id dari TextView dan atribut onClick (baris 3 dan 12):
<Button
android:id="@+id/button2"
android:onClick="klikHasil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/cbPHP"
android:layout_below="@+id/cbPHP"
android:layout_marginTop="26dp"
android:text="Hasil" />
<TextView
android:id="@+id/tvHasil"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/button1"
android:layout_below="@+id/button2"
android:layout_marginTop="22dp"
android:text="Pilih dan tap button" />
//tampilkan di textview
tvHasil.setText(s);
}
Hasilnya akan sepertin ini:
Kasus
Buat interface dengan XML Dengan seperti Gambar di bawah ini
Point Penilaian :
• Mendesain Tampilan XML dengan <RelativeLayout> Seperti diatas (20 Point)
• Fungsi Entry dengan User : Akan Menampilkan Seluruh data pada form pada daftar di
bawah tombol entry (60 Point)
• Fungsi Cancel untuk mengosongkan Form
Keterangan :
Nama Project : NamaNimKasus1
Packange Nama : Nama.Nim.Kasus1
Tulis Tangan : File XML, Java dan AndroidManifest.XML nya
PrintScreen Tampilannya