Android: Pengenalan Daur Hidup Activity dan SharedPreference

Aplikasi yang kita buat bisa memiliki satu activity, atau juga banyak activity. Setiap activity yang didefinisikan memiliki daur hidup tersendiri. jika saat ini activity sedang running, mungkin selanjutnya aplikasi kita berhenti sebentar (pause) atau memang benar-benar dimusnahkan, hilang dari memori (destroy). Ya, state-nya memang bisa berubah-ubah. Dan semuanya diatur oleh sistem. Tapi kita sebagai developer bisa melakukan pengaturan tindakan saat activity berada di state tertentu dengan cara melakukan override terhadap method di dalam class Activity. Pada waktunya, Android akan memanggil method yang bersesuaian dengan state activity.

Berikut adalah diagramnya.

Gambar 1. Daur Hidup Activity

Berikut ini adalah deskripsi dari method override dari class Activity untuk daur hidup activity.

  1. onCreate()
    method ini dipanggil saat activity pertama kali dibuat. Di sinilah inisialisasi dilakukan – membuat UI, mendapatkan data yang diperlukan, dan lainnya.
  2. onStart()
    method ini dipanggil sesaat sebelum activity ditampilkan ke pengguna.
  3. onResume()
    method ini dipanggil ketika activity berinteraksi dengan pengguna.
  4. onPause()
    method ini berjalan ketika activity berada di balik layar (background), tidak terlihat oleh pengguna tapi masih berjalan. Biasanya hal ini terjadi saat ada activity lainnya yang dijalankan. Di state inilah seharusnya data program kita disimpan ke persistent state.
  5. onStop()
    method ini berjalan ketika activity sudah tidak terlihat lagi oleh pengguna dalam waktu yang cukup lama dan activity tidak diperlukan untuk sementara waktu.
  6. onRestart()
    jika method ini dipanggil, berarti activity sedang ditampilkan ulang ke pengguna dari state berhenti (stop).
  7. onDestroy()
    method ini dipanggil sebelum activity dimusnahkan (hilang dari memori).

Persistent State Demo

Setelah mengetahui daur hidup activity dalam aplikasi Android, saatnya kita buat aplikasi yang membantu kita memahami teori-teori di atas. Kita akan membuat aplikasi Android yang bisa menyimpan teks yang dituliskan pengguna. Jika pengguna keluar dari aplikasi, kemudian masuk kembali ke aplikasi, teks yang dituliskan sesaat sebelum keluar dari aplikasi akan ada, tidak hilang. 😀Read More »

Wim!, a Wiggle Mouse Application

Welcome to Wim!

Image 1. Wim! Screenshot

It is a simple java application to keep your computer in awake condition and not sleep (or maybe auto log off). This application will wiggle the mouse in certain period of time automatically. I usually use this app when I am in computer laboratory in my faculty, so auto log off on my computer login will not happens. :mrgreen:

You can try this app. Download here. Furthermore, I will show my code here. Learn it for fun. It is just simple code, just 3 java files. 😉

The following is Main.java that contains main method.

//--------------------------------------------------------------------------
// Wim! (c) 2011. v01.
// By Ardi, Computer Science UI 2008
//
// Main class for running application.
//--------------------------------------------------------------------------

import javax.swing.JFrame;
import javax.swing.ImageIcon;
import javax.swing.SwingUtilities;

public class Main
{
	//constructor
	public Main()
	{
                //create instance from JFrame
		JFrame frame = new JFrame ("Wim!");

		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		Panel application = new Panel();
                //add instance of application to frame
		frame.getContentPane().add(application);
		//set frame imageIcon
		ImageIcon icon = new ImageIcon("image/swii_logo.png");
		frame.setIconImage(icon.getImage());

                //set window size
                frame.setSize(220,105);
		frame.setVisible(true);
	}

	//main method is executed first by compiler.
	public static void main(String[] args)
	{
		SwingUtilities.invokeLater(new Runnable(){
			public void run()
			{
				new Main();
			}
		});
	}
}

Next is Panel.java that extends JPanel. Here GUI component like JButton, JTextField, and JLabel, is constructed. Inner class Listener for event-handling is in Panel.java.Read More »

Android: Pengenalan Layout

Ketika membuat suatu halaman dalam aplikasi Android, diperlukan tata letak komponen yang rapi sehingga tampilan aplikasi yang dibuat terlihat cantik. Ada beberapa tata letak atau layout yang bisa digunakan di Android, yaitu Linear Layout, Relative Layout, Table Layout, dan Tab Layout. Penggunaan berbagai macam layout tersebut selain Tab Layout akan didemokan dalam satu aplikasi yang diberi nama ‘HiLayout’.

Sebagai tahap awal, buatlah project Android ‘HiLayout’. Silakan diisi dengan detail project sebagai berikut.

Project name : HiLayout
Application name : hiLayout
Package name : alh.apps
Create Activity : HiLayout
Build Target : Android 2.2
Min SDK Version : 8

Jika project sudah sukses dibuat, kita akan temukan file HiLayout.java dalam folder src/alh.apps dan file main.xml dalam folder res/layout di bagian Package Explorer. Untuk keperluan demo layout, file main.xml tidak digunakan. Sebagai gantinya, kita akan membuat file xml baru, satu file untuk satu demo layout.

Linear Layout

LinearLayout adalah layout yang menampilkan elemen-elemen view dalam arah linear, vertikal atau pun horizontal. Ini adalah layout paling sederhana di Android. Mari lihat implementasinya di Android.

Buat file xml baru dengan nama linearlayout.xml. Caranya, klik kanan di folder res/layout di project ‘HiLayout’. Pada menu pop-up yang muncul, pilih New > Android XML File. Selanjutnya, silakan isikan nama file XML dengan linerlayout.xml.

Gambar 1. Pembuatan File XML

Jika sudah diisi dan tidak ada pesan error, klik Finish. Default-nya, file linearlayout.xml yang dibuat akan berisi sebagai berikut. File xml tersebut tidak berisi elemen view apapun di dalamnya.

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”>

</LinearLayout>

Nah, sekarang ubah isinya menjadi berikut ini.

<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android&#8221;
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”>

<TextView
android:text=”innovation for Indonesia..”
android:background=”#4c0000″
android:textSize=”10pt”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
/>

<TextView
android:text=”turn on our dreams!”
android:textSize=”13pt”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
/>

<Button
android:text=”ya!”
android:layout_marginTop=”30pt”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
/>

</LinearLayout>

Bisa kita lihat, tampilan yang dibuat akan memiliki tampilan teks (TextView) dan tombol (Button). Ukuran teks diatur melalui atribut android:textSize. Salah satu teks juga diberi warna background (latar belakang) dengan kode warna #4c0000 melalui atribut android:background.

Sekarang buka file HiLayout.java. Default-nya, isi file adalah sebagai berikut.

package alh.apps;

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

public class HiLayout extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Lakukan perubahan kecil pada method onCreate() sehingga kode berubah menjadi berikut.

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.linearlayout);
}

Saat ini tampilan aplikasi sudah mengacu ke linearlayout.xml yang berada di folder res/layout. Mari lihat hasilnya melalui emulator. Kita akan dapatkan tampilan sebagai berikut.Read More »

Swii Writer Here!

Alhamdulillah, after so long, finally i can publish one of my apps. I named this app Swii Writer, a java application. I idly built this app when i learned java programming language. I used SciTe text editor application for Swii Writer development. :mrgreen:

Image 1. Swii Writer

Swii Writer is simple text editor app for writing information what you like. It is featured with file management, editing, and formatting. Moreover, i then add cryptography touch to this app toRead More »

Android UI: Membuat Background Berpola

Penggunaan background yang tepat dapat membuat tampilan aplikasi lebih menarik dan elegan. Kadangkala, kita hanya menggunakan satu warna untuk suatu background. Nah, ada pilihan lain agar tampilan background aplikasi tidak sekedar satu warna, yaitu penggunaan background berpola. Sebagai contoh, lihatlah background aplikasi berikut.


Gambar 1. Aplikasi dengan Background Berpola

Gambar 2. Image untuk Membuat Background Berpola

Background aplikasi di atas tidak sekedar hitam, tapi ada pola yang terbentuk. Menarik, kan? Untuk membuat background berpola seperti di atas,Read More »

Ayo Berbagi Ilmu Programming di Blog WordPress.com dengan Syntax Highlighter!

Ikatlah ilmu dengan menuliskannya.

Kata-kata ajaib ini tampaknya bisa memotivasi kita untuk berbagi ilmu dengan menulis di blog gratisan semacam wordpress. Selain bermanfaat bagi orang lain, juga bisa meningkatkan traffic blog dan menambah amal kebaikan kita. 😀

Untuk kamu yang ingin berbagi mengenai ilmu programming dan ingin menuliskannya di blog wordpress.com, ada fitur menarik yang harus dicoba. Namanya syntax highlighter.

Syntax highlighter sebenarnya merupakan aplikasi open source yang dikembangkan melalui JavaScript buatan Alex Gorbatchev dengan lisensi GNU Lesser General Public License. Saat ini, aplikasi ini sudah terintegrasi di engine wordpress sehingga kita bisa langsung menggunakannya. Tanpa syntax highlighter didalamnya, penulisan kode programming di blog wordpress menjadi sulit.

Berikut adalah hasil penggunaan syntax highlighter.

public class HiWorld
{
	public static void main(String[] args)
	{
		//welcome in java programming
		System.out.println("hi world...:)");
	}
}

Bagaimana? bagus, kan? 😀
Untuk mendapatkan tampilan seperti di atas, kita bisa melakukan penulisan Read More »