Thursday, January 29, 2015

Android, Membuat Inputan Tanggal dan Waktu Pada textfield Secara Otomatis

Assalamualaikum...
Hari ini tgl 30-01-2015 saya mulai melanjutkan hobi yang sempat tertunda, yakni nge-Blog, postingan saya kali ini adalah untuk sobat-sobat programer yg sudah tidak asing lagi dengan pemrograman android eclipse, saya tidak akan memulai menjelaskan dari bagaimana cara menginstal android dll, jadi buat temen-temen yg masih sangat baru, belum tau cara menggunakan eclipse, silahkan pelajari di tempat lain dulu ya, hehe...
hari ini saya akan berbagi tentang bagaimana cara membuat inputan tanggal dan waktu pada textfield secara otomatis pada eclipse, tanpa berpanjang lebar mari kita langsung saja ke TKP.

Langkah pertama
Silahkan sobat membuat project baru terlebih dahulu, jika sobat sudah berhasil membuat project maka copy-paste kan coding di bawah ini pada file main.java anda.

import java.util.Calendar;
import android.app.Activity;
import android.app.Dialog;
import android.app.ProgressDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.app.DatePickerDialog;
import android.app.TimePickerDialog;
import android.view.MotionEvent;
import android.view.View.OnTouchListener;
import android.widget.DatePicker;
import android.widget.TimePicker;

public class latihan1 extends Activity {
    
int hour, minute, mYear,mMonth, mDay;
    static final int TIME_DIALOG_ID = 0;
    static final int DATE_DIALOG_ID = 1;
    private String[] arrMonth = {"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"};
private EditText txttgl;
private EditText txtjam;
// Seusuaikan url dengan nama domain yang anda gunakan
    private String url = "http://fulltrust.meximas.com/android/addinfo2.php";
public ProgressDialog pDialog;

    @Override

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.latihan1);
        txttgl = (EditText) findViewById(R.id.txtDate);
        txtjam = (EditText) findViewById(R.id.txtTime);
     // 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);        
        txttgl.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                // TODO Auto-generated method stub
                showDialog(DATE_DIALOG_ID);
                return true;
            }
        });
        
        txtjam.setOnTouchListener(new OnTouchListener() {

            @Override
            public boolean onTouch(View arg0, MotionEvent arg1) {
                // TODO Auto-generated method stub

                showDialog(TIME_DIALOG_ID);
                return true;
            }
        });

    } 
    
    
    @Override
    protected Dialog onCreateDialog(int id)
    {
        switch (id) {
            case TIME_DIALOG_ID:
                return new TimePickerDialog(
                    this, mTimeSetListener, hour, minute, true);
            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;
                txttgl.setText(sdate);
            }
        };

        private TimePickerDialog.OnTimeSetListener mTimeSetListener =
        new TimePickerDialog.OnTimeSetListener()
        {
            public void onTimeSet(TimePicker view, int hourOfDay, int minuteOfHour)
            {
                hour = hourOfDay;
                minute = minuteOfHour;
                String stime = LPad(""+hour, "0", 2) + ":"+ LPad(""+minute, "0", 2);
                txtjam.setText(stime);
            }
        };
        
        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);
        }
}


Selanjutnya adalah copy-paste coding ini di main.xml sobat.
<?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">
<LinearLayout
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:orientation="vertical"
   android:textColor="#020202" >

   <!--
   <TextView
       android:id="@+id/TextView09"
android:layout_marginLeft = "10dp"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:textColor="#c3c3c3"
       android:text="Silaturrahim :" >
   </TextView>
   -->
   
   <EditText 
       android:text="" 
       android:id="@+id/txtDate" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content"
       android:editable="false"
       android:hint="Tanggal">
   </EditText>
   
   <EditText 
       android:text="" 
       android:id="@+id/txtTime" 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:editable="false"
       android:hint="Jam">
   </EditText>
    </LinearLayout>
</LinearLayout>


Jika sudah maka silahkan sobat jalan kan program yg sudah dibuat, jika berhasil maka tampilannya akan seperti gambar dibawah ini.


Selamat mencoba sobat, semoga berhasil.
Jika ingin program yg sudah jadi silahkan sobat download DISINI.

Terimakasih...

0 comments:

Post a Comment

luvne.com resepkuekeringku.com desainrumahnya.com yayasanbabysitterku.com