APLIKASI KALKULATOR PERTAMAKU
Secara default Ketika kita membuat sebuah project Android, Eclipse telah menciptakan sebuah project baru yang
ketika dijalankan akan menampilkan tulisan Hello World. Project yang pertama kali dibuat hanya terdiri dari 2 widget, yaitu
layout (LinearLayout) dan TextView. Dan Komponen TextView inilah yang akan menampilkan text “Hello World”.
Pada Tutorial Kali ini kita akan membuat sebuah aplikasi sederhana, yaitu kalkulator. Tutorial kali ini akan dibuat sesederhana mungkin agar bisa dipahami dengan mudah bagi pemula. Point utama dari tutorial ini adalah sebagai berikut:
Pada Tutorial Kali ini kita akan membuat sebuah aplikasi sederhana, yaitu kalkulator. Tutorial kali ini akan dibuat sesederhana mungkin agar bisa dipahami dengan mudah bagi pemula. Point utama dari tutorial ini adalah sebagai berikut:
-
- Cara Awal pembuatan Project hingga Proses Menjalankan dan Pembuatan file APK.
-
- Pemberian Event Untuk Komponen Button(Tombol) dengan 2 cara / 2 metode.
-
- Pengenalan Terhadap Komponen2 sederhana / standar pada android, seperti TextView, EditText, dan Button.
-
- Operasi Aritmatika Standar, seperti Perkalian, Pembagian, Penjumlahan, Dan Pengurangan.
1. Pembuatan Project
Saya anggap sampai disini rekan rekan telah berhasil melakukan penginstallan Peralatan Tempur Android pada Eclipse. Untuk Tahan awal pembuatan project , berikut ini tahap tahap yang perlu dilakukan:
-
Jalankan Eclipse. Bagi yang belum menentukan Workspace, silahkan terlebih dahulu WorkSpace tempat
penyimpanan project yang anda kerjakan.
-
Berikut ini adalah tahap-tahap pembuatan project baru (perhatikan gambar dengan baik):
Klik-> Android Project, setelah itu akan muncul window baru, dan lakukan sesuai dengan gambar dibawah:
Setelah itu klik “finish”. Sampai disini Pembuatan Project baru berhasil.
Jika berhasil, maka pada Package Explorer akan terdapat project yang telah kita buat, seperti gambar dibawah ini:
Pada Android Framework terdapat aturan aturan khusus yang berlaku. Android Frawework dirancang khusus untuk saling terintegrasi antara CodeBehind dan Layout View, dan lain lain. Berikut ini adalah keterangan lebih lengkap mengenai penempatan file file yang secara umum digunakan:
Keterangan:
-
Src, adalah lokasi penyimpanan file java sebagai Codebehind aplikasi. Ketika aka membuat sebuah class
baru, maka lakukan klik kanan pada package diadalam folder src (melalui Ecplise) lalu pilih new class.
-
Gen, adalah folder tempat penyimpanan file R.java. R.java adalah class yang degenerate secara otomatis
setiap kali kita menambahkan komponen2 yang akan digunakan. Sebaiknya file ini jangan di kotak katik.
-
Res, res menyimpan folder drawable ,layout, dan value. Drawable digunakan untuk lokasi penyimpanan file
file image/gambar. Sedangkan layout digunakan untuk menyimpan file file .xml yang akan digunkan sebagai
layout aplikasi, dan value adalah sebuah folder yang secara default terdapat sebuah file string.xml yang
berisi element element “string” yang mengandung kalimat / text yang dapat dipanggil seketika. Untuk
menambahkan file audio/video dapat ditambahkan sebuah folder didalam folder res, yaitu folder dengan
nama “raw”.
-
AndroidManifest.xml adalah sebuah file yang harus ada pada setiap project . Manifest adalah file yang
berinteraksi langsung dengan Mesin Dalvix dan System Operasi Android sebelum Setiap Activity dieksekusi. Didalam manifest diregistrasikan class class yang bersifat “Activity” , dan bukan hanya itu, manifest juga menampung keterangan mengenai package aplikasi, versi minimal SDK, Permision, dan lain lain. Agar penjelasan tidak melebar kemana-mana dan mudah untuk dimengerti bagi pemula, maka kita lanjutkan ke tujuan awal, yaitu pembuatan aplikasi kalukator.
1. Pembuatan Layout AplikasiSecara default layout yang tersedia adalah layout yang dibangun didalam komponen LinearLayout. Saya sarankan agar tidak membuat layout dengan AbsoluteLayout. Ada baiknya anda menggunakan LinearLayout / RelativeLayout. Berikut ini kira kira perbandingan yang akan terjadi pada Device yang berbeda.
DiAsumsikan kita memiliki sebuat tampilan sebagai berikut:
Tombol 1 Tombol 2 Tombol 3Perbandingan Tampilan Antara LinearLayout dengan AbsoluteLayout pada Device berbeda: LinearLayout (Device dengan resolusi QVGA) AbsoluteLayout (Device dengan resolusi QVGA)
Tombol 1 Tombol 2 Tombol 3LinearLayout (Device dengan resolusi HVGA) AbsoluteLayout (Device dengan resolusi HVGA)Tombol 1 Tombol 2 Tombol 3Perbedaan yang terjadi adalah:-
AbsoluteLayout bersifat Statik / tidak berubah , posisi widget2 yang diletakan akan tetap pada
value yang diberikan, sehingga ketika tampilan aplikasi dibuat sesuai dengan resolusi layar yang
kecil, maka pada saat dijalankan diDevice yang lebih besar, maka tampilan tidak akan sesuai
dengan yang dibangun pada Device yang sebelumnya terlihat baik. Demikian juga sebaliknya,
ketika tampilan dibuat baik pada device yang besar, makan tampilan layout akan berubah / acak –
acakan ketika dijalankan di Device yang lebih kecil.
-
Pada LinearLayout, tampilan layout dapat berubah sesuai dengan ukuran Device. Sehingga
tampilan Sesuai dengan yang diharapkan. PILIH YANG MANA?
Karena pada dasarnya kita ingin membuat aplikasi yang support pada setiap device, apalagi mengenai tampilan..
Berikut ini tampilan aplikasi yang akan kita buat:
Buka main.xml (pada folder layout) , dengan cara meng-klik2 kali file tersebut sehingga muncul pada editor.Edit Layout sehingga tampil seperti dibawah ini:Atau anda dapat meng-Copy kode dibawah ini, lalu paste-kan pada file Main.xml anda :
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:background="#777"android:orientation="vertical" ><EditTextandroid:id="@+id/EditText01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextView02"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_marginRight="11dip"android:gravity="right|center"android:text="+"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><EditTextandroid:id="@+id/editText1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextView01"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_margin="13dip"android:layout_marginRight="11dip"android:background="#444"android:gravity="right|center"android:text="0"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><LinearLayoutandroid:id="@+id/linearLayout1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center" ><Buttonandroid:id="@+id/Button03"android:layout_width="50dip"android:layout_height="50dip"android:text="+"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/Button02"android:layout_width="50dip"android:layout_height="50dip"android:text="x"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/Button01"android:layout_width="50dip"android:layout_height="50dip"android:text="-"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/button1"android:layout_width="50dip"android:layout_height="50dip"android:text="/"android:textSize="21dip"android:textStyle="bold" ></Button></LinearLayout><Buttonandroid:id="@+id/button5"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="13dip"android:text="="android:textSize="21sp"android:textStyle="bold" ></Button>
</LinearLayout>Selanjutnya kita akan melakukan pembuatan/pemberian event pada setiap button/tombol yang telah disediakan. Seperti tujuan diatas, pemberian event akan dicontohkan dengan 2 metode, untuk selanjutnya silahkan pilih mana yang lebih mudah dan menyenangkan:
2. Modifikasi Class yan menjadi Activity untuk tampilan main.xml
Pemberian event dapat dilakukan dengan 2 cara, pada tutorial ini event untuk tombol tambah,kurang,dan hasil akan dilakukan dengan penambahan value pada property OnClick dari tombol tombol tersebut, dan kemudian menciptakan sebuah method yang merupakan event dari masing masing tombol. Dan metode selanjutnya adalah dengan implementasi OnClickListener pada CodeBehind / file KalkulatorSederhana.java.
1. Metode pemberian value pada properties OnClick
Inputkan nama method yang mejadi event dari masing masing tombol melalui DesignView di tampilan layout. Agar lebih jelas, perhatikan gambar dibawah ini:Caranya:
Klik Tombol dengan tulisan “+” satu kali, lalu pada window properties cari properties OnClick, lalu
inputkan dengan tulisan “tambah” tanpa tanda kutip.
Lakukan hal yang sama pada tombol kurang dan hasil. Pada tombol kurang isi dengan value
“kurang” dan pada tombol “=” isi dengan value “hasil”. Sehingga Kode pada main.xml akan berubah menjadi sebagai berikut:<?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:background="#777"android:orientation="vertical" ><EditTextandroid:id="@+id/EditText01"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextView02"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_marginRight="11dip"android:gravity="right|center"android:text="+"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><EditTextandroid:id="@+id/editText1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextView01"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_margin="13dip"android:layout_marginRight="11dip"android:background="#444"android:gravity="right|center"android:text="0"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><LinearLayoutandroid:id="@+id/linearLayout1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center" ><Buttonandroid:id="@+id/Button03"android:layout_width="50dip"android:layout_height="50dip"android:onClick="tambah"android:text="+"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/Button02"android:layout_width="50dip"android:layout_height="50dip"android:text="x"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/Button01"android:layout_width="50dip"android:layout_height="50dip"android:onClick="kurang"android:text="-"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/button1"android:layout_width="50dip"android:layout_height="50dip"android:text="/"android:textSize="21dip"android:textStyle="bold" ></Button></LinearLayout><Buttonandroid:id="@+id/button5"android:layout_height="wrap_content" ></Button></LinearLayout>Manipulasi pada main.xml (layout) belum selesai sampai disni. Karena itu Kode Lengkap pada main.xml yang disajikan diatas belum finish. Untuk tahap akhir dalam memmodifikasi file main.xml, tahap yang kita lakukan adalah pemberian ID pada komponen-komponen penting yang akan digunakan.
Beberapa komponen yang perlu diberikan ID agar mudah diingat adalah, :
-
! Tombol Bagi (/) = @+id/ButtonBagi
-
! Tombol Kali (x)= @+id/ButtonKali
-
! Input Angka Pertama= @+id/EditTextAngka1
-
! Input Angka Kedua= @+id/EditTextAngka2
-
! TextView yang menampilkan operator aritmatika= @+id/TextViewOperator
-
! TextView yang menampilkan hasil= @+id/TextViewHasil
Gambar dibawah ini menerangkan Lokasi / Tempat pengubahan properties ID pada masing masing komponen:
Setelah melakukan modifikasi tersebut, maka kode lengkap pada layout (main.xml) menjadi seperti 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:background="#777"android:orientation="vertical" ><EditTextandroid:id="@+id/EditTextAngka1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextViewOperator"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_marginRight="11dip"android:gravity="right|center"android:text="+"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><EditTextandroid:id="@+id/EditTextAngka2"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="11dip"android:gravity="right|center"android:numeric="decimal"android:phoneNumber="true"android:text="0" ></EditText><TextViewandroid:id="@+id/TextViewHasil"android:layout_width="fill_parent"android:layout_height="50dip"android:layout_margin="13dip"android:layout_marginRight="11dip"android:background="#444"android:gravity="right|center"android:text="0"android:textColor="#fff"android:textSize="33sp"android:textStyle="bold" ></TextView><LinearLayoutandroid:id="@+id/linearLayout1"android:layout_width="fill_parent"android:layout_height="wrap_content"android:gravity="center" ><Buttonandroid:id="@+id/Button03"android:layout_width="50dip"android:layout_height="50dip"android:onClick="tambah"android:text="+"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/ButtonKali"android:layout_width="50dip"android:layout_height="50dip"android:text="x"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/Button01"android:layout_width="50dip"android:layout_height="50dip"android:onClick="kurang"android:text="-"android:textSize="21dip"android:textStyle="bold" ></Button><Buttonandroid:id="@+id/ButtonBagi"android:layout_width="50dip"android:layout_height="50dip"android:text="/"android:textSize="21dip"android:textStyle="bold" ></Button></LinearLayout><Buttonandroid:id="@+id/button5"android:layout_width="fill_parent"android:layout_height="wrap_content"android:layout_margin="13dip"android:onClick="hasil"android:text="="android:textSize="21sp"android:textStyle="bold" ></Button>
</LinearLayout>Tahap Selanjutnya adalah modifikasi class yang merupakan Activity dari aplikasi. Hal yang perlu dilakukan adalah dengan membuka file .java kedalam Jendela Editor, sama seperti cara membuka file main.xml, cukup dengan meng-Klick 2 kali file .java.
:( Capek nulisnya,
Mohon maaf, tutorialnya panjang banget,
Aku Share Dokumennya aja deh, teman teman bisa download lengkapnya.
Teman teman bisa liat tutorialku di link ini aja :
https://docs.google.com/file/d/0B6xSgrabA7o9UHBjeHJCWUpDbFU/edit
-
Src, adalah lokasi penyimpanan file java sebagai Codebehind aplikasi. Ketika aka membuat sebuah class
-
Jalankan Eclipse. Bagi yang belum menentukan Workspace, silahkan terlebih dahulu WorkSpace tempat
penyimpanan project yang anda kerjakan.
0 komentar:
Posting Komentar