Android Timer的使用

1:服务端使用PHP 

<?php
    echo date('Y-m-d H:i:s');
?>

2:activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
    <Button 
        android:id="@+id/btn_click"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button Start"/>
    
    <TextView
        android:id="@+id/tv_show"
        android:layout_below="@id/btn_click"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" 
        android:textSize="28sp"/>
    
    <Button 
        android:id="@+id/btn_stop"
        android:layout_below="@id/tv_show"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button Stop"/>

</RelativeLayout>

3:MainActivity.java

HttpHelper.getStringFromNet2(param)此方法见:http://www.cnblogs.com/yshyee/p/3370147.html

public class MainActivity extends Activity {
    private Button btnClick=null;
    private Button btnStop=null;
    private TextView tvShow=null;
    private String info="";
    private Timer timer=null;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        btnClick=(Button)findViewById(R.id.btn_click);
        btnStop=(Button)findViewById(R.id.btn_stop);
        tvShow=(TextView)findViewById(R.id.tv_show);
        
        timer=new Timer();
        
        btnClick.setOnClickListener(new OnClickListener(){
            public void onClick(View view){
                timer.scheduleAtFixedRate(new MyTask(), 100, 2000);
            }
        });
        
        btnStop.setOnClickListener(new OnClickListener(){
            public void onClick(View view){
                timer.cancel();
            }
        });
        
    }
    

    Handler myHandler=new Handler(){
        public void handleMessage(Message msg){
            if(info!=""){
                tvShow.setText(info);
            }
        }
    };
    
    private class MyTask extends TimerTask{
        public void run(){
            String param="http://192.168.0.116/android/time.php";
            info=HttpHelper.getStringFromNet2(param);
            myHandler.obtainMessage(100).sendToTarget();
        }
    }
}

4:运行结果:

posted @ 2013-10-15 14:46  yshy  阅读(392)  评论(0编辑  收藏  举报