zoukankan      html  css  js  c++  java
  • 安卓--子线程和主线程之间的交互实例(时钟)

    转自:http://blog.csdn.net/yayun0516/article/details/43115219

    .xml代码如下:

    [html] view plaincopy
    1. <?xml version="1.0" encoding="utf-8"?>  
    2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    3.     android:layout_width="fill_parent"  
    4.     android:layout_height="fill_parent"  
    5.     android:orientation="vertical" >  
    6.   
    7.     <AnalogClock  
    8.         android:id="@+id/myAnalogClock"  
    9.         android:layout_width="wrap_content"  
    10.         android:layout_height="wrap_content"/>  
    11.   
    12.     <TextView  
    13.         android:id="@+id/info"  
    14.         android:layout_width="fill_parent"  
    15.         android:layout_height="wrap_content"  
    16.         android:text="" />  
    17.   
    18. </LinearLayout>  

    .java程序代码如下:

    [java] view plaincopy
    1. package org.lxh.demo;  
    2.   
    3. import java.util.Date;  
    4. import java.text.SimpleDateFormat;  
    5. import android.app.Activity;  
    6. import android.os.Bundle;  
    7. import android.os.Handler;  
    8. import android.os.Message;  
    9. import android.widget.TextView;  
    10.   
    11. public class Hello extends Activity {  
    12.     private TextView info = null;  
    13.     private static final int SET = 1;  
    14.     private Handler handler = new Handler() {  
    15.   
    16.         @Override  
    17.         public void handleMessage(Message msg) {  
    18.             switch (msg.what) {  
    19.             case SET:  
    20.                 Hello.this.info.setText("当前时间为:" + msg.obj.toString());  
    21.                 break;  
    22.             }  
    23.         }  
    24.   
    25.     };  
    26.   
    27.     private class ClockThread implements Runnable {//显示时间的线程类  
    28.   
    29.         public void run() {  
    30.             while (true) {  
    31.                 try {  
    32.                     Message msg = Hello.this.handler.obtainMessage(Hello.SET,  
    33.                             new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")  
    34.                                     .format(new Date()));  
    35.                     Hello.this.handler.sendMessage(msg);  
    36.                     Thread.sleep(1000);  
    37.                 } catch (Exception e) {  
    38.                 }  
    39.             }  
    40.   
    41.         }  
    42.   
    43.     }  
    44.   
    45.     public void onCreate(Bundle savedInstanceState) {  
    46.         super.onCreate(savedInstanceState); // 生命周期方法  
    47.         super.setContentView(R.layout.main); // 设置要使用的布局管理器  
    48.         this.info = (TextView) super.findViewById(R.id.info);  
    49.         new Thread(new ClockThread()).start();//启动线程  
    50.   
    51.     }  
    52.   
    53. }  
    运行实例如下:


  • 相关阅读:
    北京华思世纪思科CCNA中文视频教程全集(迅雷)
    [转载]告诉你C盘里的每个文件夹都是干什么用的(转载)
    各种路由器默认用户名及密码
    思科路由器交换机单臂路由连接方式
    大学计算机类教学视屏
    如何看待目前的路由交换机安全性
    跨越交换机的TPLink交换机配置VLAN部分图解(二)
    跨越交换机的TPLink交换机配置VLAN部分图解(一)
    基于华为路由器接入的解决方案
    跨越交换机的TPLink交换机配置VLAN部分图解(三)
  • 原文地址:https://www.cnblogs.com/walccott/p/4957017.html
Copyright © 2011-2022 走看看