Android定时器Demo

这几天一直忙简历和面试。都没敲代码。

面试四家,都没消息。

周五,估计没面试电话,还是静下来敲代码吧。

练习下定时器,要不要说想写个天气预报。。。

好吧,看看能不能坚持下来。加油,骚年。

准备使用服务,定时器请求天气数据,以前只是听,从来没写过定时器代码,看看网上demo 一次搞定。

注释感觉还可以,贴代码:

  1 package com.wangyyworks.weatherworks;
  2 
  3 import java.util.Timer;
  4 import java.util.TimerTask;
  5 
  6 import android.os.Bundle;
  7 import android.os.Handler;
  8 import android.os.Message;
  9 import android.app.Activity;
 10 import android.content.res.ColorStateList;
 11 import android.graphics.Color;
 12 import android.view.Menu;
 13 import android.view.View;
 14 import android.widget.TextView;
 15 import android.widget.Toast;
 16 
 17 /**
 18  * 2013-6-7 13:36:59 
 19  * 定时器练习
 20  * @author wang_xiaohao
 21  *
 22  */
 23 public class HomeActivity extends Activity {
 24 
 25     private Handler handler;// 创建Handler;
 26     public final int TIMETASKDEME = 1;// Message 为1时候 更新UI 文字
 27     private TextView cheangetext;
 28     private int time = 1;
 29     private boolean isTimeStart;//添加标记,方式多次开启定时器,时间会乱。。。。
 30 
 31     @Override
 32     protected void onCreate(Bundle savedInstanceState) {
 33         super.onCreate(savedInstanceState);
 34         setContentView(R.layout.activity_home);
 35 
 36         inteId();
 37 
 38         /**
 39          * Handler 更新UI
 40          */
 41         handler = new Handler() {
 42 
 43             @Override
 44             public void handleMessage(Message msg) {
 45                 // TODO Auto-generated method stub
 46                 super.handleMessage(msg);
 47                 switch (msg.what) {
 48                 case 1:
 49                     cheangetext.setTextColor(Color.RED);
 50                     cheangetext.setText("每隔一秒更新一次,这是第" + time++ + "秒了~");
 51                     break;
 52                 }
 53                 super.handleMessage(msg);
 54             }
 55 
 56         };
 57 
 58     };
 59 
 60     /**
 61      * 加载ID findviewbyid
 62      */
 63     private void inteId() {
 64         // TODO Auto-generated method stub
 65 
 66         cheangetext = (TextView) findViewById(R.id.cheangetext);
 67 
 68     }
 69 
 70     @Override
 71     public boolean onCreateOptionsMenu(Menu menu) {
 72         // Inflate the menu; this adds items to the action bar if it is present.
 73         getMenuInflater().inflate(R.menu.activity_home, menu);
 74         return true;
 75     }
 76 
 77     /**
 78      * 2013-6-7 13:00:0 测试定时器,服务后期定时请求数据
 79      * 
 80      * @param view
 81      */
 82     public void timetask(View view) {
 83         
 84         
 85         
 86         if (!isTimeStart) {
 87             Toast.makeText(getApplicationContext(), "开启定时器每一秒执行一次", 0).show();
 88             
 89             // 创建定时器
 90             TimerTask task = new TimerTask() {
 91 
 92                 @Override
 93                 public void run() {
 94                     // TODO Auto-generated method stub
 95                     Message message = new Message();
 96                     message.what = 1;
 97                     handler.sendMessage(message);
 98                 }
 99             };
100 
101             Timer timer = new Timer(true);
102             timer.schedule(task, 1000, 1000); // 延时1000ms后执行,1000ms执行一次
103         }
104         
105         isTimeStart = true;//修改标记为true,防止第二次开启;
106         
107     }
108 
109 }

第一次出现问题,多次点击后数字乱了。。。

添加了标记:isTimeStart搞定。

布局一个button 一个textview

<LinearLayout  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"
    android:orientation="vertical"
    tools:context=".HomeActivity" >
    
    <Button
        android:onClick="timetask"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="测试定时器" />
    
    <TextView
        android:id="@+id/cheangetext"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="40sp"
        android:text="显示文字" />

</LinearLayout>

 

接下来,该请求数据了。。。

顺带make下 miui 截图位置:I:\MIUI\screen_cap

加油,不然媳妇都娶不来,骚年。

截个图:

转载于:https://www.cnblogs.com/wang-xiaohao/archive/2013/06/07/3125309.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值