綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

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

[複製連結] 查看: 1694|回覆: 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)
回覆

使用道具 舉報

14
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-28 14:59

http://android.yaohuiji.com/archives/2498
參考了上面的這個版主寫的code 就解決我的問題了謝謝!!

include::
寫timer建議使用Handler,一開始沒有用Handler  Bug 會多到想讓你砍掉重練
版主也有說 ""在Android里进行UI控制还是要用Handler的""
謝謝 大家的回答 在此分享給其他人
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

13
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2013-10-25 23:16
iamjason008 發表於 2013-10-20 22:34
要用的時候就重新來一遍嘍~~

所以好像不能只寫
private Button.OnClickListener myButton10_listener=new Button.OnClickListener(){
             public void onClick(View v) {                   
                     timer.cancel();;
               }                
     };
當我按下停止按鈕
然後要在案 讀取資料的按鈕 就當掉了!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

12
iamjason008 | 收聽TA | 只看該作者
發表於 2013-10-20 22:34
要用的時候就重新來一遍嘍~~
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

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

是不是 使用了cancel之後雖然可以停止timer
但當我還需要再使用的時候他就沒有辦法用了?
用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)
回覆 支持 反對

使用道具 舉報

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)
回覆 支持 反對

使用道具 舉報

8
iamjason008 | 收聽TA | 只看該作者
發表於 2013-10-18 11:19
用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)
回覆 支持 反對

使用道具 舉報

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

使用道具 舉報

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

本版積分規則