Android线程显示数字时钟
package com.example.datetest;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import android.app.Activity;
import android.content.ContentResolver;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.view.Menu;
import android.widget.TextView;
public class MainActivity extends Activity {
private Thread clockThread;
private boolean isRunning = true;
private Handler handler;
private int mYear;
private int mMonth;
private int mDay;
private int mHour;
private int mMinute;
TextView text1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (TextView) findViewById(R.id.textView1);
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
mHour = c.get(Calendar.HOUR_OF_DAY);
mMinute = c.get(Calendar.MINUTE);
String YY = String.valueOf(mYear);
String MM = String.valueOf(mMonth);
String DD = String.valueOf(mDay);
String hh = String.valueOf(mHour);
String mm = String.valueOf(mMinute);
SimpleDateFormat dateformat1 = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss a E");
Date d = new Date();
ContentResolver cv = this.getContentResolver();
final String strTimeFormat = android.provider.Settings.System
.getString(cv, android.provider.Settings.System.TIME_12_24);
// if (strTimeFormat.equals("12")) {
//
// SimpleDateFormat dateformat2 = new SimpleDateFormat(
// "yyyy-MM-dd a hh:mm:ss E");
// String a1 = dateformat2.format(d);
// text1.setText(a1);
// }
//
// else if (strTimeFormat.equals("24")) {
//
// SimpleDateFormat dateformat3 = new SimpleDateFormat(
// "yyyy-MM-dd HH:mm:ss E");
// String a1 = dateformat3.format(d);
// text1.setText(a1);
// }
//
handler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
SimpleDateFormat dateformat1 = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss a E");
String a1 = dateformat1.format(msg.obj);
text1.setText(a1);
}
}
};
clockThread = new Thread(new Runnable() {
@Override
public void run() {
while (isRunning) {
try {
Thread.currentThread().sleep(1000);
Message msg = new Message();
msg.obj = new Date();
msg.what = 0;
handler.sendMessage(msg);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
clockThread.start();
// G 年代标志符
// y 年
// M 月
// d 日
// h 时 在上午或下午 (1~12)
// H 时 在一天中 (0~23)
// m 分
// s 秒
// S 毫秒
// E 星期
// D 一年中的第几天
// F 一月中第几个星期几
// w 一年中第几个星期
// W 一月中第几个星期
// a 上午 / 下午 标记符
// k 时 在一天中 (1~24)
// K 时 在上午或下午 (0~11)
// z 时区
}
@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;
}
}参考资料:http://tech.it168.com/a2011/0922/1250/000001250289_all.shtml
相关推荐
xfcyhades 2020-11-20
Michael 2020-11-03
业余架构师 2020-10-09
OuNuo0 2020-09-29
moses 2020-09-22
Angelia 2020-09-11
qinxu 2020-09-10
刘炳昭 2020-09-10
Nostalgiachild 2020-09-07
Nostalgiachild 2020-08-17
leavesC 2020-08-14
一青年 2020-08-13
AndroidAiStudy 2020-08-07
ydc0 2020-07-30
绿豆饼 2020-07-28