JWorld@TW the best professional Java site in Taiwan
      註冊 | 登入 | 全文檢索 | 排行榜  

» JWorld@TW » Java ME、Google Android 平台與 JavaCard 討論區 » Android  

按列印兼容模式列印這個話題 列印話題    把這個話題寄給朋友 寄給朋友    訂閱主題
reply to topicthreaded modego to previous topicgo to next topic
本主題所含的標籤
作者 將接收到的資料放入陣列去卻會遺失
semida





發文: 41
積分: 0
於 2013-10-06 11:53 user profilesend a private message to userreply to postreply to postsearch all posts byselect and copy to clipboard. 
ie only, sorry for netscape users:-)add this post to my favorite list
從手機接收藍芽送出來的資料
然後將之一一放進陣列
按下按鈕後開始讀取
然後顯示在各自的textview
結果發生悲劇
data[0]的資料是64
data[1]的資料是02
data[2]=00
data[3]=2B
.
.
.
可是當一按下去textview1的確會短暫顯示出64
結果下一秒就會被覆寫成02
然後後面的陣列就會全部往前移
變成data[0]=02、data[1]=00、data[2]=2B...全部往前
之後我在按下讀取資料的按紐
textview1就會先顯示出64然後馬上會跳回顯示02
可是其他的陣列就會全部往前不變了data[1]就會變成data[2]的資料
data[2]就會變成data[3]的資料
求解謝謝 拜託各位大大
已經研究了好幾天找不出問題SadSadSadSadSad
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
private class SppReceiver extends Thread{     
       private InputStream input=null;
   
       public SppReceiver(InputStream in){
         input = in;
         Log.i(tag, "SppReceiver");
       }
       /* 接收SPP訊息...*/
       public void run(){        
         byte[] data  = new byte[1024];
         int length;  
         short tmp[] = new short [20];
         double vo;
         if (input == null){
           Log.d(tag, "InputStream null");
           return;
         }
         while (true){
           try{     
             Thread.sleep(500);
             length=input.read(data);           
             tmp[0]=(short) (0xff & data[0]);
             tmp[1]=(short) (0xff & data[1]);
             tmp[2]=(short) (0xff & data[2]);
             tmp[3]=(short) (0xff & data[3]);
             tmp[4]=(short) (0xff & data[4]);
             tmp[5]=(short) (0xff & data[5]);
             tmp[6]=(short) (0xff & data[6]);
             tmp[7]=(short) (0xff & data[7]);
             tmp[8]=(short) (0xff & data[8]);
             tmp[9]=(short) (0xff & data[9]);
             tmp[10]=(short) (0xff & data[10]);
             tmp[11]=(short) (0xff & data[11]);
             tmp[12]=(short) (0xff & data[12]);
             vo =0.01*( (tmp[7]*256) + tmp[8] );
             Log.i(tag, "SPP receiver");
             if (length>0){
               //Log.i(tag,"R: "+ new String(data,0,length, "ASCII")+"
");           
               msg=Double.toString(vo);
               msg1=Integer.toString(tmp[0],0);
               msg2=Integer.toString(tmp[1]);
               msg3=Integer.toString(tmp[2]);
               msg4=Integer.toString(tmp[7]);
               msg5=Integer.toString(tmp[8]);
               msgetr=Integer.toHexString(data[0]);
               btHandler.sendEmptyMessage(0);//將所有要顯示的訊息都丟去btHandler
             }
           }catch (Exception e){//IOException e
             Log.e(tag, "SppReceiver_disconnect");
             disconnect();         
           }
         }       
         } 
     }
     /*將訊息顯示再Textview中畫面*/
     Handler btHandler = new Handler(){
      public void handleMessage(Message m){
        msg.length();
        msgVolText.setText(msg+"v");
        msgCurText.setText(msg1);
        msgFreText.setText(msg2);
        msgPFText.setText(msg3);
        msgAcPText.setText(msg4);
        msgApPText.setText(msg5);
        msgETR.setText(msgetr);
      } 
     };


semida edited on 2013-10-07 21:16
reply to postreply to post
» JWorld@TW »  Java ME、Google Android 平台與 JavaCard 討論區 » Android

reply to topicthreaded modego to previous topicgo to next topic
  已讀文章
  新的文章
  被刪除的文章
Jump to the top of page

JWorld@TW 本站商標資訊

Powered by Powerful JuteForum® Version Jute 1.5.8