android 实时显示系统时间
2012-07-13 14:50
471 查看
我们知道,用System.currentTimeMillis()可以获取系统当前的时间,我们可以开启一个线程,然后通过handler发消息,来实时的更新TextView上显示的系统时间。
我们开启一个线程,线程每隔一秒发送一次消息,我们在消息中更新TextView上显示的时间就ok了。
首先我们在布局文件中放一个TextView用来显示时间,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<TextView
android:id="@+id/mytime"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@android:color/black"
android:textSize="36sp"/>
</LinearLayout>
主要思想是写一个线程,线程里面无限循环,每隔一秒发送一个消息,在主线程里面处理消息并更新时间
整个Activity的代码:
我们开启一个线程,线程每隔一秒发送一次消息,我们在消息中更新TextView上显示的时间就ok了。
首先我们在布局文件中放一个TextView用来显示时间,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white">
<TextView
android:id="@+id/mytime"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:textColor="@android:color/black"
android:textSize="36sp"/>
</LinearLayout>
主要思想是写一个线程,线程里面无限循环,每隔一秒发送一个消息,在主线程里面处理消息并更新时间
整个Activity的代码:
import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.annotation.SuppressLint; import android.app.Activity; import android.text.format.DateFormat;import android.widget.TextView; public class TestActivity extends Activity { private TextView tvTime; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); tvTime = (TextView) findViewById(R.id.mytime); new TimeThread().start(); //启动新的线程 } class TimeThread extends Thread { @Override public void run() { do { try { Thread.sleep(1000); Message msg = new Message(); msg.what = 1; //消息(一个整型值) mHandler.sendMessage(msg);// 每隔1秒发送一个msg给mHandler } catch (InterruptedException e) { e.printStackTrace(); } } while (true); } } //在主线程里面处理消息并更新UI界面 private Handler mHandler = new Handler(){ @Override public void handleMessage(Message msg) { super.handleMessage(msg); switch (msg.what) { case 1: long sysTime = System.currentTimeMillis(); CharSequence sysTimeStr = DateFormat.format("hh:mm:ss", sysTime); tvTime.setText(sysTimeStr); //更新时间 break; default: break; } } }; }
相关文章推荐
- Android实时显示系统时间日期以及星期几
- Android中两种不同的方法实现实时更新时间,是显示时间和系统时间同步
- Android笔记:Android TextView实时显示系统时间
- Android学习总结——实时显示系统时间
- android 实时显示系统时间
- 基于对话框的MFC应用程序的Edit控件中实时显示系统时间的方法:
- MFC中Edit Box 显示系统实时时间:
- android 系统时间显示格式
- Android调用系统时间格式显示时间信息
- 基础Android应用开发 Button显示系统时间+TextView显示随机数+简单计算器
- 实时显示系统时间和改变时间格式进行计算
- js实时显示系统时间
- 用JS实现实时显示系统时间
- Qt实时显示系统时间
- Android动态显示当前年月日时分秒系统时间(示例代码)
- android 日期时间格式转换;软键盘显示消失;获取系统title
- 汇编 实时显示系统时间 年月日信息
- 一个实时显示系统时钟的android应用
- Android动态显示系统时间,附获得当前年月日星期时分秒方法,一步到位
- js 显示系统时间yyyy-MM-dd HH:mm:ss,实时