Android开发之--实时更新系统时间

来源:互联网 发布:火龙女电影知乎 编辑:程序博客网 时间:2024/05/16 17:54


     时间表一样,将系统时间实时更新显示在TextView中


   布局  一个TextView

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:id="@+id/activity_main"    android:layout_width="match_parent"    android:layout_height="match_parent"    tools:context="com.jn.excerseproject.MainActivity">    <TextView        android:id="@+id/tvTime"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_centerInParent="true"        android:text="" /></RelativeLayout>

主Activity:

public class MainActivity extends AppCompatActivity {    @Bind(R.id.tvTime)    TextView tvTime;    public static final int MSG_ONE = 1;    private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            //通过消息的内容msg.what  分别更新ui            switch (msg.what) {                case MSG_ONE:                    //获取到系统当前时间 long类型                    long time = System.currentTimeMillis();                    //将long类型的时间转换成日历格式                    Date data = new Date(time);                    // 转换格式,年月日时分秒 星期  的格式                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 EEE");                    //显示在textview上,通过转换格式                    tvTime.setText(simpleDateFormat.format(data));                    break;                default:                    break;            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);        new TimeThread().start();    }    //开一个线程继承Thread    public class TimeThread extends Thread {        //重写run方法        @Override        public void run() {            super.run();            // do-while  一 什么什么 就            do {                try {                    //每隔一秒 发送一次消息                    Thread.sleep(1000);                    Message msg = new Message();                    //消息内容 为MSG_ONE                    msg.what = MSG_ONE;                    //发送                    handler.sendMessage(msg);                } catch (InterruptedException e) {                    e.printStackTrace();                }            } while (true);        }    }}

0 0
原创粉丝点击