วันเสาร์ที่ 2 พฤศจิกายน พ.ศ. 2556

CountDownTimer Example

Android CountDownTimer  Example Code

This code will pickup date form calendar then make countdown timer.
นับเวลาถอยหลัง จากปฎิทิน เลือกวันเวลาที่ต้องการ


MainActivity.java Code
package android.example.countdown;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.net.ParseException;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.app.Activity;
import android.app.DatePickerDialog;
import android.app.Dialog;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.TextView;

public class MainActivity extends Activity {
     
      TextView tvTimer;
      Button btnSet,btnStart;
    long diff;
    long milliseconds;
    long endTime;
    long startTime;
   
    static final int DATE_DIALOG_ID = 0;
    static final int TIME_DIALOG_ID = 1;
   
      // variables to save user selected date and time
      public int year, month, day, hour, minute;
     
      // declare the variables to Show/Set the date and time when Time and Date
      // Picker Dialog first appears
      private int mYear, mMonth, mDay, mHour, mMinute;

      @Override
      protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
           
            tvTimer = (TextView)findViewById(R.id.textViewTimer);
        btnSet = (Button)findViewById(R.id.buttonSet);
        btnStart = (Button)findViewById(R.id.buttonStart);
       
        btnSet.setOnClickListener(new View.OnClickListener() {                
             public void onClick(View v) {
           
              showDialog(DATE_DIALOG_ID);
             }
           });
       
        btnStart.setOnClickListener(new View.OnClickListener() {                
             public void onClick(View v) {
               
                        SimpleDateFormat formatter = new SimpleDateFormat(
                                    "dd.MM.yyyy, HH:mm");
                        formatter.setLenient(false);

                        // String newTime = "30.10.2013, 00:00";
                        String newTime = day + "." + month + "." + year + ", 00:00";
                        Date newDate;
                        try {
                              newDate = formatter.parse(newTime);
                              milliseconds = newDate.getTime();

                        } catch (ParseException e) {
                              e.printStackTrace();
                        } catch (java.text.ParseException e) {
                              e.printStackTrace();
                        }

                        startTime = System.currentTimeMillis();
                        diff = milliseconds - startTime;

                        MyCount counter = new MyCount(diff, 1000);
                        counter.start();                               
             }
           });     
    }


    // countdowntimer is an abstract class, so extend it and fill in methods
    public class MyCount extends CountDownTimer {
     
        public MyCount(long millisInFuture, long countDownInterval) {
            super(millisInFuture, countDownInterval);
        }

        @Override
        public void onFinish() {
            tvTimer.setText("Done!");
        }

        @Override
        public void onTick(long millisUntilFinished) {
           
            startTime = System.currentTimeMillis();
            diff = milliseconds - startTime;
                      
            int days = (int)((diff / (1000*60*60*24)) % 365);           
            long hours   = (long) ((diff / (1000*60*60)) % 24);          
            long minutes = (long) ((diff / (1000*60)) % 60);       
            long seconds = (long) (diff / 1000) % 60 ;
                   
                  tvTimer.setText(days + "  days\n" + hours + "  hours\n" + minutes
                        + "  min\n" + String.format("%02d", seconds) + " sec");          
        }
    }


      // Register DatePickerDialog listener
      private DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {

            // the callback received when the user "sets" the Date in the
            // DatePickerDialog
            public void onDateSet(DatePicker view, int yearSelected,
                        int monthOfYear, int dayOfMonth) {
                  year = yearSelected;
                  month = monthOfYear + 1;
                  day = dayOfMonth;
                  // Set the Selected Date in Select date Button
                  // btnSelectDate.setText("Date selected : "+day+"-"+month+"-"+year);
                  btnSet.setText("Set to\nDate " + day + "/" + month + "/" + year);
            }
      };


  // Method automatically gets Called when you call showDialog()  method
   @Override
      protected Dialog onCreateDialog(int id) {
            switch (id) {
            case DATE_DIALOG_ID:
                 
                  // Get Date Now              
                  Calendar c = Calendar.getInstance();
              mYear = c.get(Calendar.YEAR);
              mMonth = c.get(Calendar.MONTH);
              mDay = c.get(Calendar.DAY_OF_MONTH);    
                       
                  // set current date into datepicker
                //datepicker.init(year, month, day, null);
                 
                  // create a new DatePickerDialog with values you want to show
                  return new DatePickerDialog(this, mDateSetListener, mYear, mMonth,mDay);
                  // // create a new TimePickerDialog with values you want to show
                  // case TIME_DIALOG_ID:
                  // return new TimePickerDialog(this,
                  // mTimeSetListener, mHour, mMinute, false);

            }
            return null;
      }
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
      }
}



สอนเขียน Android  สอนเขียนโปรแกรม Android แบบ Online

รับสอนเขียนโปรแกรม Android App สอนแบบ online สอนสด ตัวต่อตัว หรือ เป็นกลุ่ม ได้ทั่วประเทศ กำหนดเวลาเรียนได้
การเรียน Android App แบบ online สามารถกำหนดเวลาเรียน เองได้ ตามแต่ตกลงกัน
( รับสอน นอกสถานที่ แบบเป็น กลุ่ม ทั่วประเทศ )

แต่ละ Course ขึ้นอยู่กับพื้นฐานที่มี นะครับ

Course
1.JAVA Programming สำหรับผู้ที่ยังไม่มีพื้นฐานทางด้าน การเขียนโปรแกรม JAVA
เรียน 3-4 ครั้ง ครั้งละ 2 ชั่วโมง  

2.Beginning Android Development เริ่มต้นการพัฒนาด้วย Android ( ต้องมีพื้นฐาน JAVA แล้ว )
เรียน 5-6 ครั้ง ครั้งละ 2 ชั่วโมง 
เรียนจบคอร์สนี้ ก็สามารถทำ Application ได้แล้ว

3.Android Application สอนตามความต้องการในการเขียนโปรแกรม ใช้งานจริง เช่น โปรแกรมใช้งานด้านต่างๆ
ระยะเวลา และ ค่าเรียน ตามแต่ความยากง่ายของโปรแกรม ซึ่งอาจจะรวมสอน JAVA Programming ด้วยสำหรับผู้เริ่มต้นเลย
ดังนั้น ราคาสอน จะขึ้นอยู่กับ สเปคงาน

โปรแกรมที่ใช้ทำการเรียน Team Viewer  Version ล่าสุด Version 8
Meeting ID จะแจ้งให้ก่อนเรียน ผ่านทาง email sms Line หรือ อื่นๆ ตามสะดวก
ใช้ Tab Meeting ใส่ Meeting ID และใส่ชื่อ
แล้ว Join Meeting

ติดต่อ amphancm@gmail.com

ไม่มีความคิดเห็น:

แสดงความคิดเห็น