Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 中級開發 >> Android程序中使用定時器Timer

Android程序中使用定時器Timer

編輯:中級開發

一、  重點

1.          如何使用handler和message

2.          如何延時調用

     1) 使用延遲發消息的方式

二、  舉例

1.          功能:實現一個應用界面,在用戶長按觸模屏兩秒後,打出Log信息

2.          步驟:

1)         建立project

a)          在eclipse中點擊菜單File->New->Project……

b)         選擇android Project按Next

c)          填寫project的各項內容如下
Project name: test_xy // 目錄名, 它位於你設定的workspace之下
Package name: com.android.test //打包名稱
Activity name: .TestXy // 類名(生成文件TestXy.Java)
Application name: test_xy // 可執行程序名
然後點Finish按鈕

2)         修改TestXy.Java代碼如下
package com.android.test;import android.app.Activity;
import android.os.Bundle;
import android.vIEw.MotionEvent;
import android.os.Handler;
import android.os.Message;
import android.util.Log;publicclass TextXy extends Activity {
        
         staticfinalintMESSAGE_LONG_PRESS = 1;        
// 定義長按事件ID
         staticfinalintLONG_PRESS_TIMEOUT = 2000;           
// 定義長按為2秒
         final Handler mHandler = new LongPressHandler();        
// 定義handler         class LongPressHandler extends Handler {      // handler類的實現
                   publicvoid handleMessage(Message msg) {              
// 事件處理函數
                            switch (msg.what) {
                            caseMESSAGE_LONG_PRESS:    
// 選擇事件ID
                                     Log.d("TEST_XY", "now long press!");
                                     break;
                            }
                   }
         }         @Override
         publicvoid onCreate(Bundle savedInstanceState) {
                   super.onCreate(savedInstanceState);
                   setContentVIEw(R.layout.main);
         }         publicboolean onTouchEvent(MotionEvent ev) {                 
// 處理觸屏事件
                   int action = ev.getAction();       
// 得到觸屏動作
                   if (action == MotionEvent.ACTION_DOWN) { 
// 手指按下
                            mHandler.sendMessageDelayed(mHandler
                                               .obtainMessage(MESSAGE_LONG_PRESS),
                                               ONG_PRESS_TIMEOUT);     
// 延時2秒後發送事件
                   } elseif (action == MotionEvent.ACTION_UP) {       
// 手指抬起
                            mHandler.removeMessages(MESSAGE_LONG_PRESS);
                           
// 取消延時事件
                   }
                   returnfalse; }

3)         運行

a)          在eclipse中點擊菜單Run->Run Configurations……

b)         雙擊左邊的android Application,產生了一個New Configuration,點開它填寫內容如下:
Name: yan_config // 隨便起一個
Project: test_xy // 剛才起的project, 即目錄名

c)          點擊Apply,然後點Run,多等一會兒就出來了

d)         此時點擊右上的DDMS,可看到Log信息,在長按屏幕兩秒後,可看到剛才加入的Log信息

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved