AndroidManifest.xml
Pada langkah terakhir sudah disampaikan bahwa setiap aplikasi yang
melibatkan lebih darisatu activity, maka masing-masing activity harus
didaftarkan pada AndroidManifest.xml. Selain sebagai tempat registrasi
activity, AndroidMaifest.xml juga digunakan untuk menambahkan user permission
apabila palikasi yang kita buat harus mengakses kedalam sistem seperti
membutuhkan koneksi internet, mengirim sms, melihat status baterai, dan
sebagainya. Dengan demikian secara sederhana, AndroidManifest.xml dapat kita
analogikan seperti pemegang kekuasaan penuh dalam satu aplikasi.
MainActivity.java
Pada activity ini terdapat empat buah button. Objek button
dideklarasikan pada bagian awal kelas. Dalam setiap activity pasti terdapat
metode onCreate(). Metode ini akan dieksekusi pertama kali saat activity di
panggil. Metode onCreate() kita manfaatkan untuk memasangkan objek button
terhadap widget button dari activity_main.xml. Metode setOnClickListener() yang
diterpakan pada setiap button memiliki callback berupa metode onClick(). Dalam
metode inilah kita menaruh conditional function berupa switch case untuk
menyeleksi button mana yang di klik dan apa yang harus dikerjakan jika salah
satu button sudah di klik. Tiga button (ListView, Spinner, dan Form) apabila
diklik masing-masing akan memanggil halaman/activity baru. Sedangkan button
Exit apabila di klik akan memanggil methode ShowExitDialog(). Metode ini
berfungsi menampilkan AlertDialog untuk melakukan validasi apakah pengguna
aplikasi benar-benar ingin keluar atau tidak.
ListviewActivity.java
Activity ini menampilkan daftar makanan yang disusun dalam sebuah array
dalam bentuk list. Supaya widget ListView pada activity_listview.xml dapat
dikenali, maka harus dilakukan inisialisasi berdasarkan ID-nya. Setelah
dikenali, tiem array berisi daftar makanan kita simpan ke dalam ListView
melalui ArrayAdapter. Metode setOnItemClickListener() ditambahkan supaya setiap
item pada ListView dapat bereaksi apabila diklik. Cara meyusun array menjadi
tampilan ListView ini dilakukan juga pada kelas SpinnerActivity.java, haya saja
widget yang digunakan berbeda.
FormActivity.java
Jika button Login diklik , maka masukkan username dan password dari user
yang akan diambil nilainya melalui metode getText(). Setiap EditText diambil
nilainya lalu ditampung dalam variabel string u dan p . Nilai dari dua variable
ini kemudian dilembpar ke metode checklogin(). Didalam metode checklogin() ini
dilakukan validasi pencocokan data yang dimasukkan user terhadap konstanta
variabel username dan password yang sudah kita tentukan nilainya. Variabel
bertipe data string dapat dibandingkan dengan variabel string lainnya melalui
metode equals(). Jika memang coock maka aplikasi akan kembali memanggil
activity utama melalui metode startActivity.
Membuat Project BasicApp
Pada activity_main.xml, ubahlah
Relative Layout menjadi Linear-Layout dengan cara klik kanan > change Layout
> linearLayout (Vertical) > OK
Secara drag and drop, tambahkan
empat buah button pada activity_main.xml
Nama Layout XML
|
Fungsi
|
Activity_form.xml
|
Layout halaman login
|
Activity_listview.xml
|
Layout untuk menampilkan halaman
dengan widget ListView
|
Activity_main.xml
|
Layout untuk menampilkan halaman
utama berisi empat buah button
|
Activity_spinner.xml
|
Layout untuk menampilkan halaman
berisi widget spinner
|
Ketik source code berikut pada file
activity_form.xml
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="8dp"
android:stretchColumns="1">
<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="username"/>
<EditText
android:id="@+id/inUser"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="username
here">
<requestFocus/>
</EditText>
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/textView2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="password"/>
<EditText
android:id="@+id/inPass"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="password
here"
android:inputType="textPassword"/>
</TableRow>
</TableLayout>
<Button
android:id="@+id/bLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login"/>
</LinearLayout>
Selanjutnya, activity_listview berisi sebuah widget
ListView untuk menampilkan data dalam bentuk list.
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/idListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
Siapkan lagi
activity_spinner.xml. Layout ini digunakan untuk menampilkan data dalam bentuk
dropdown item.
<?xml version="1.0"
encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ListView
android:id="@+id/idListView"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</ListView>
</LinearLayout>
Terakhir,
buat layout activity_main.xml sebagai halaman utama.
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/LinearLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<Button
android:id="@+id/bToast"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button
Toast"/>
<Button
android:id="@+id/bListView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Halaman
Listview"/>
<Button
android:id="@+id/bSpinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Halaman
Spinner"/>
<Button
android:id="@+id/bForm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Halaman
Form"/>
<Button
android:id="@+id/bExit"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Exit"/>