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
相关推荐
huha 2020-10-16
xfcyhades 2020-11-20
sgafdsg 2020-11-04
Michael 2020-11-03
fengyeezju 2020-10-14
ziyexiaoxiao 2020-10-14
业余架构师 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