Aplikasi Menghitung Volume dengan Android Studio
- Buat
Project Baru dengan klik File > new project
- Setelah
muncul Jendela Create New Project, kemudian atur nama aplikasi dan domain
perusahaan anda
- Kemudian
pilih tipe device untuk aplikasi beserta target minimum SDK yang akan kita
gunakan. Kita pilih level 15(Ice Cream Sandwich lalu klik next
- Pilih
empty activity lalu klik next untuk melanjutkan
- Selanjutnya
tentukan nama activity pertama kita lalu klik finish
- Lalu
akan tampil layar project baru
- Disebelah
kanan anda adalah workspace dimana activity anda berada dan bernama
MainActivity.java dengan layoutnya activity_main.xml
- Selanjutnya
mulai pengkodean, gunakan ctrl+space untuk menggunakan code completion dari
Android studio agar mengoptimasi import package dari komponen yang digunakan
- Menambahkan
code sederhana pada layout activity, ketikkan kode berikut pada activity
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:orientation="vertical" tools:context=".MainActivity"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/panjang" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <EditText android:id="@+id/edt_Length" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:lines="1" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/lebar" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <EditText android:id="@+id/edt_width" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:lines="1" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/tinggi" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <EditText android:id="@+id/edt_height" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="numberDecimal" android:lines="1" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <Button android:id="@+id/btn_calculate" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hitung" android:layout_marginBottom="@dimen/activity_vertical_margin"/> <TextView android:id="@+id/tv_result" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/hasil" android:gravity="center" android:textSize="24sp" android:textStyle="bold" android:layout_marginBottom="@dimen/activity_vertical_margin"/> </LinearLayout> |
- 10. Akan
muncul warning code. Hilangkan dengan cara menekan alt+enter pada attribute
android:text
- 11. Fungsi
extract string resource akan secara otomatis menambahkan values dalam android
text ke dalam file res > values > strings.xml.
- 12. Terjadi
eror pada atribut dimen. Cara nya tambahkan di res> values >dimens.xml.
lalu klik OK
- 13. Isi
file dimens.xml seperti ini
- 14. Menambahkan
kode logika sederhana pada MainAtivity
package com.udinngoding.amel_1810652003;
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.TextUtils; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
private EditText edtWidth, edtHeight, edtLength; private Button btnCalculate; private TextView tvResult; |
|
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); edtWidth = (EditText)findViewById(R.id.edt_width); edtHeight = (EditText)findViewById(R.id.edt_width); edtLength = (EditText)findViewById(R.id.edt_width); btnCalculate = (Button) findViewById(R.id.edt_width); tvResult = (TextView) findViewById(R.id.edt_width); btnCalculate.setOnClickListener(this); } @Override public void onClick(View v) { if (v.getId() == R.id.btn_calculate){ String length = edtLength.getText().toString().trim(); String width = edtWidth.getText().toString().trim(); String height = edtHeight.getText().toString().trim(); boolean isEmptyFields = false; if (TextUtils.isEmpty(length)){ isEmptyFields = true; edtLength.setError("Field ini tidak boleh kosong"); } if (TextUtils.isEmpty(width)){ isEmptyFields = true; edtWidth.setError("Field ini tidak boleh kosong"); } if (TextUtils.isEmpty(height)){ isEmptyFields = true; edtHeight.setError("Field ini tidak boleh kosong"); } if (!isEmptyFields) { double l = Double.parseDouble(length); double w = Double.parseDouble(width); double h = Double.parseDouble(height); double volume = l * w * h; tvResult.setText(String.valueOf(volume)); } } } } |
|
15. Jika
sudah klik RUN
16. Tambahkan
beberapa baris berikut pada MainActivity.java
17. Tambahkan
lagi kode berikut pada MainActivity
Tambahkan baris berikut pada terakhir
method onCreate
Jalankan aplikasi
Penjelasan
Kode
1.
Baris
ini mengidentifiaksi bahwa file ini berformat xml
2. Merupakan
namespace yang digunakan dalam keseluruhan file xml ini
3. Merupakan
namespace yang digunakan dalam keseluruhan file xml ini
Mengidentifikasi
bahwa file layout xml ini berelasi dengan MainActivity
Disini
kita menggunakan beberapa komponen user interface yang disebut ciew diantaranya
Textview :
Komponen view untuk menampilkan teks ke layar
EditText :
Komponen view untuk memberikan input teks
Button :
Komponen view untuk melakukan sebuah aksi dnegan mengklik
LinearLayout : Komponen view bertipe viewGroup yang
menjadi parent dari semua sub komponen view (sub view) didalamnya. Komponen ini
bersifat sebagai container untuk komponen lain dengan susunan secara vertical
dan horizontal
4. Cara
membaca
Komponen
diatas adalah sebuah TextView, warna ungu menandakan namespace yang digunakan,
warna biru adalah atribut komponen dan warna hijau adalah nilai dari atribut.
Penjelasannya seperti dibawah ini:
match_parent:
ini berarti bahwa ukuran dimensi sebuah view disesuaikan dengan ukuran layar
secara horizontal jika pada layout_width dan vertical jika pada layout_height
wrap_content
: ini berarti bahwa ukuran dimensi sebuah view disesuaikan dengan ukuran konten
di dalamnya baik secara horizontal pada layout_width dan vertical jika pada
layout_height
@dimen/activity_vertical_margin
: value ectivity_vertical_margin berasal dari file resource dimens.xml yang
bisa anda lihat dengan cara menekan dan kemudian klik sekali. Penggunaan
centralize resource value akan memudahkan anda sewaktu development aplikasi
android. Penggunaan cara tersebut supaya tidak menulis value yang sama
berulang-ulang
Apa
itu @+id/
Jika
kita memberikan id pada sebuah view maka kita telah memberikan identifier untuk
view tersebut agar :
Bisa
kita manipulasi/dikntrol pada level logic di komponen seperti activity atau
fragment. Id ini akan diciptakan di file R.java kedalam bentuk nilai hexa bertipe
data integer a public static final int btn_calculate=0x7f0b0057
Pembahasan tentang logika kode
1. Menandakan
bahwa kelas java kita merupakan sebuah activity karna inherit ke superclass
bernama AppCompatActivity
2. Ini
adalah listener yang kita implementasikan untuk melakukan proses event klik
pada komponen tombol (button)
3. onCreate
Method onCreate() merupakan method utama
pada activity. Di sinilah kita dapat mengatur layout xml dan semua proses
inisialisasi komponen yang akan digunakan diciptakan. Pada method ini kita
casting semua komponen View yang kita telah deklarasi sebelumnya, agar dapat
kita manipulasi.
Maksud baris diatas adalah bahwa kelas
MainActivity akan menampilkan tampilan yang berasal dari layout
activity_main.xml
Maksud dari baris diatas adalah obyek
EditText EdtWidth disesuaikan (Cast) dengan komponen EditText ber-ID edt_width
di layout xml melaui method findViewById()
Penambahan saveInstanceState
Di dalam mehod ini hasil perhitungan yang ditampilkan
pada tvResult dimasukkan pada bundle kemudian di save isinya. Setelah
onSaveInstanceState berhasil dijalankan maka activity akan melakukan proses
onDestroy dan menjalankan lagi OnCreate secara otomatis
Pada oncreate inilai kita menggunakan nilai bundle yang
telah kita simpan tadi pada onsaveinstancestate kemudian kita isikan kembali
pada tvResult
Aplikasi Menghitung Volume dengan Android Studio
Reviewed by Amelia Puspita Ella
on
November 05, 2018
Rating:
Tidak ada komentar