Kamis, 14 Januari 2016

Membuat Project Basic App pada Android Dasar Bagian 1


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

Buatlah project baru, File > New > Android Application Project. Isilah field yang tersedia, lalu klik next berulang-ulang hingga selesai, kemudian klik Finish.  
 
 
 
 
 
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



Berikutnya buat empat layout XML yang letaknya di dalam foler res/layout. Dengan cara klik kanan folder/layout à New à Android XML file. Berikut nama layout XML beserta kegunaannya.

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"/>  

</LinearLayout>