Nah pada tutorial kali ini kita akan membuat Aplikasi Android Hitung Umur yang dapat membantu kita, dan user-user android untuk mengetahui umurnya sampai pada satuan hari.
Tutorial ini, juga menjawab pertanyaan dari salah seorang pembaca tentang pengurangan dari 2 tanggal.
Sekarang mari kita mulai misi kita :
1. Buka eclip, buat project
2. Edit File main.xml, lalu ketikkan kode berikut
Kode diatas akan menghasilkan user imterface berupa 2 buah edit text yang digunakan untuk memasukkan tanggal lahir dan menempilkan informasi umur setelah button Hitung umur di tap(klik).<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="Tanggal Lahir :" android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtDate" android:layout_width="fill_parent" android:layout_height="wrap_content"></EditText> <Button android:text="Hitung Umur" android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/btnHitungUmur"></Button> <TextView android:text="Umur :" android:id="@+id/TextView02" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView> <EditText android:text="" android:id="@+id/txtUmur" android:layout_width="fill_parent" android:layout_height="wrap_content" android:editable="false"></EditText> </LinearLayout>
3. Edit File HitungUmurActivity.java yang menjadi otak aplikasi kita
4. Sekarang mari kita run programnya. Masukkan Tanggal Lahir kemudian klik button Hitung Umurpackage com.agusharyanto.net; import java.util.Calendar; import android.app.Activity; import android.app.DatePickerDialog; import android.app.Dialog; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.view.View.OnTouchListener; import android.widget.Button; import android.widget.DatePicker; import android.widget.EditText; public class HitungUmurActivity extends Activity { int hour, minute, mYear,mMonth, mDay; static final int TIME_DIALOG_ID = 0; static final int DATE_DIALOG_ID = 1; private EditText txtDate; private EditText txtUmur; private Button btnHitungUmur; private String[] arrMonth = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); txtDate = (EditText) findViewById(R.id.txtDate); txtUmur = (EditText) findViewById(R.id.txtUmur); btnHitungUmur = (Button) findViewById(R.id.btnHitungUmur); // get the current date final Calendar c = Calendar.getInstance(); mYear = c.get(Calendar.YEAR); mMonth = c.get(Calendar.MONTH); mDay = c.get(Calendar.DAY_OF_MONTH); txtDate.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View arg0, MotionEvent arg1) { // TODO Auto-generated method stub showDialog(DATE_DIALOG_ID); return true; } }); btnHitungUmur.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v){ // getRequest(txtResult,txtUrl); Calendar now= Calendar.getInstance(); Calendar tanggallahir = Calendar.getInstance(); tanggallahir.set(mYear, mMonth, mDay); int years = now.get(Calendar.YEAR) - tanggallahir.get(Calendar.YEAR); int months = now.get(Calendar.MONTH) - tanggallahir.get(Calendar.MONTH); int days = now.get(Calendar.DAY_OF_MONTH) - tanggallahir.get(Calendar.DAY_OF_MONTH); if (days < 0){ months --; days +=now.getActualMaximum(Calendar.DAY_OF_MONTH); } if (months < 0){ years --; months +=12; } String umur = years+" tahun "+months+ " bulan "+days+" hari"; txtUmur.setText(umur); } }); } @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: return new DatePickerDialog( this, mDateSetListener, mYear, mMonth, mDay); } return null; } private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() { @Override public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) { mYear = year; mMonth = monthOfYear; mDay = dayOfMonth; String sdate = arrMonth[mMonth] + " " + LPad(mDay + "", "0", 2) + ", " + mYear; txtDate.setText(sdate); } }; private static String LPad(String schar, String spad, int len) { String sret = schar; for (int i = sret.length(); i < len; i++) { sret = spad + sret; } return new String(sret); } }
Nah sekarang kalau ditanya umur jawablah dengan lengkap sampai satuan hari. Anda akan mendapat kan ekspresi yang beda dari lawan bicara anda.
Semoga bermanfaat
sumber : Agus haryanto
0 comments:
Post a Comment