綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] [解決]有關timer的使用方法?

[複製連結] 查看: 1690|回覆: 13|好評: 0
跳轉到指定樓層
樓主
kansas73 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2013-10-15 22:45

馬上加入Android 台灣中文網,立即免費下載應用遊戲。

您需要 登錄 才可以下載或查看,沒有帳號?註冊

x
本帖最後由 kansas73 於 2013-10-28 14:56 編輯

想要按下Button然後開始接收資料,每三秒接收一次要怎麼寫呢?
我有試著把它寫在Button.OnClickListener
可是好像沒有辦法
找到網路上的範例都看不懂
想說有沒有更完整更詳細的範例謝謝!
這是我寫的程式碼
public class timerTask extends TimerTask
     {
       public void run()
       {
       }
     };
     /*讀取資料*/
     private Button.OnClickListener myButton9_listener=new Button.OnClickListener(){
             public void onClick(View v) {                   
                     Timer timer = new Timer(true);
                     timer.schedule(new timerTask(), 1000, 1000);
                     try{                                   
                                     byte[]read=new byte[2];
                                     read[0]=(byte) 0x10;
                                     btOut.write(read);               
                          
                             } catch (IOException e){
                                     e.printStackTrace();
                             }                        
                   }         
            
     };
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
whl | 收聽TA | 只看該作者
發表於 2013-10-15 23:15
  1. public class timerTask extends TimerTask
  2. {
  3.     public void run()
  4.     {
  5.          try{                                    
  6.              byte[]read=new byte[2];
  7.              read[0]=(byte) 0x10;
  8.              btOut.write(read);               
  9.          } catch (IOException e){
  10.               e.printStackTrace();
  11.          }                        
  12.      }         
  13. };

  14. /*讀取資料*/
  15. private Button.OnClickListener myButton9_listener=new Button.OnClickListener(){
  16.     public void onClick(View v) {                    
  17.         Timer timer = new Timer(true);
  18.         timer.schedule(new timerTask(), 1000, 1000);
  19.     }      
  20. };
複製代碼
大概是這樣。

評分

參與人數 1幫助 +1 收起 理由
ploglin + 1

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-15 23:57

to whl 先謝謝大大的熱心解答
不過經小弟測試之後 發現按下讀取的按鈕,APP會自動關閉
不知道錯誤是在何處?
還是麻煩大大幫我解答一下謝謝
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
whl | 收聽TA | 只看該作者
發表於 2013-10-16 06:59
kansas73 發表於 2013-10-15 23:57
to whl 先謝謝大大的熱心解答
不過經小弟測試之後 發現按下讀取的按鈕,APP會自動關閉
不知道錯誤是在何 ...

我知道可能會出錯,所以才會寫大概是這樣,但是給的資料不足,無法判斷。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-16 20:23
whl 發表於 2013-10-16 06:59
我知道可能會出錯,所以才會寫大概是這樣,但是給的資料不足,無法判斷。

我在網路上找到的教學都是 一點進APP就開始計時就是直接在main下就使用Timer
可是我想要當我按下按鈕在開始計時然後每三秒重複接收資料
直到我按下停止的按鈕
不知道要往哪個方向找才對
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

6
whl | 收聽TA | 只看該作者
發表於 2013-10-16 21:59
沒找錯阿,就是類似這樣寫,只是使用 Activity 直接處理 timer 會比較簡單。
參考一下
http://ascii-iicsa.blogspot.tw/2010/10/androidtimer.html
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

7
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-16 22:39
whl 發表於 2013-10-16 21:59
沒找錯阿,就是類似這樣寫,只是使用 Activity 直接處理 timer 會比較簡單。
參考一下
http://ascii-iicsa. ...

這方法好像不行
因為我的那個button按下去的時候會送出一個訊息
然後要求藍芽模組發送數據給我
可是這樣寫好像就無法發送訊息去要求藍芽模組送出數據
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

8
iamjason008 | 收聽TA | 只看該作者
發表於 2013-10-18 11:19
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

9
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-20 16:24
iamjason008 發表於 2013-10-18 11:19
你可以參考一下這裡
http://kevingo75.blogspot.tw/2011/09/java-timer-scheduledexecutorservice.html ...

非常感謝您
似乎不能用
private Button.OnClickListener myButton9_listener=new Button.OnClickListener(){
需要再
public void onCreate(Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.main);
之下寫一個
myButton9.setOnClickListener (new Button.OnClickListener(){
                  public void onClick(View v) {  
我這樣試才行得通!
另外我要怎麼讓他停止呢???
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

10
iamjason008 | 收聽TA | 只看該作者
發表於 2013-10-20 16:35
請看
http://developer.android.com/reference/java/util/TimerTask.html
裡面有提供一個"cancel"的method

評分

參與人數 1碎鑽 +1 收起 理由
kansas73 + 1 剛剛已經找到這個指令了 還是謝謝你哦.

查看全部評分

用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 註冊

本版積分規則