Android CountDownTimer Example Code
This code will pickup date form calendar then make countdown timer.
นับเวลาถอยหลัง จากปฎิทิน เลือกวันเวลาที่ต้องการ
สอนเขียน Android สอนเขียนโปรแกรม Android แบบ Online
นับเวลาถอยหลัง จากปฎิทิน เลือกวันเวลาที่ต้องการ
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 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
ติดต่อ amphancm@gmail.com
ไม่มีความคิดเห็น:
แสดงความคิดเห็น