android调用系统时间,自定义显示格式,精确到秒,详细java代码,xml文件实在是太不好意思写出来····
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.text.format.DateFormat;
import android.widget.TextView;
public class DateTimeActivity extends Activity {
private TextView timeView;
private MyTimeThread myTimeThread;
private static final int MY_TIME = 1;
private boolean TIME_SIGN = true;
// 初始化各个组件 ---- 推荐的好习惯
public void initValue()
{
timeView = (TextView)findViewById(R.id.tv_time);
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.date_time);
initValue();
myTimeThread = new MyTimeThread();
new Thread(myTimeThread).start();
}
// 主线程接受消息
private Handler handler = new Handler()
{
public void handleMessage(Message msg)
{
switch (msg.what)
{
case MY_TIME:// 主线程收到MY_TIME类型的消息后的操作
long mytime = System.currentTimeMillis();
// 引号里面的内容是设置时间显示的格式 ,你可以随心所欲的修改
CharSequence time = DateFormat.format("yyyy年MM月dd日 E hh:mm:ss", mytime);
timeView.setText(time);
break;
default:
break;
}
}
};
// 起一个读系统时间的线程,每隔一秒更新UI
private final class MyTimeThread implements Runnable
{
public void run()
{
while (TIME_SIGN)
{
try
{
Thread.sleep(1000);
Message msg = handler.obtainMessage();
msg.what = MY_TIME;
msg.sendToTarget();
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
}
}
// 收尸
protected void onDestroy()
{
TIME_SIGN = false;
super.onDestroy();
}
}
欢迎交流android、 C、 C++、 汇编及嵌入式开发方面的知识,zhonghe1114@yahoo.cn