綁定帳號登入

Android 台灣中文網

打印 上一主題 下一主題

[求助] 關於利用TextView顯示出socket資料的問題

[複製連結] 查看: 1234|回覆: 4|好評: 0
跳轉到指定樓層
樓主
kansas73 | 收聽TA | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
發表於 2015-2-25 11:50

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

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

x
我有兩台andriod手機
我要利用手機端(server)來接收平板端(client)所傳出來的資料
並且顯示在手機端(server)textview上面
當我按下平板端(client)上的button的時候會丟出一筆資料
按下第二次會再丟出第二筆資料
我在手機端上面可以接收到第一筆的資料而且是正確顯示
但當我按下第二下時卻沒有辦法顯示出第二筆資料,只有第一筆資料會顯示在上面
我不知道要怎麼樣才能顯示出第二筆資料
請問大家知不知道要如何解決這個問題
謝謝你們!!
以下是我從網路上找到的code並且依照我的需求修改過的
  1. try {
  2.                         //接收資料
  3.                         DataInputStream in = new DataInputStream(client.getInputStream());
  4.                         
  5.                         byte[] re = new byte[6];
  6.                         in.read(re);
  7.                         short tmp[] = new short [20];
  8.                         int ddata0,ddata1,ddata2;                  
  9.                         tmp[0]=(short) (0xff & re[0]);
  10.                         tmp[1]=(short) (0xff & re[1]);
  11.                         tmp[2]=(short) (0xff & re[2]);
  12.                         ddata0=tmp[0];
  13.                         ddata1=tmp[1];
  14.                         ddata2=tmp[2];
  15.                         sdata0=Integer.toHexString(ddata0);
  16.                         sdata1=Integer.toHexString(ddata1);
  17.                         sdata2=Integer.toHexString(ddata2);
  18.                         
  19.                         while (in != null) {
  20.                             handler.post(new Runnable() {
  21.                                 public void run() {
  22.                                        
  23.                                     test2.setText(sdata0+sdata1+sdata2+"
  24. "); //test2就是我所要顯示出data的地方
  25.                                     
  26.                                 }
  27.                                 
  28.                             });
  29.                         }
  30.                         
  31.                         break;
  32.                     } catch (Exception e) {
  33.                         handler.post(new Runnable() {
  34.                             public void run() {
  35.                                 test.setText("傳送失敗");
  36.                             }
  37.                            
  38.                         });
  39.                     }
複製代碼
「用Android 就來APK.TW」,快來加入粉絲吧!
Android 台灣中文網(APK.TW)
收藏收藏 分享分享 分享專題
用Android 就來Android 台灣中文網(https://apk.tw)
回覆

使用道具 舉報

沙發
whl | 收聽TA | 只看該作者
發表於 2015-2-25 21:41
我認為問題不在這裡,我猜 in=null。
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

板凳
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2015-2-25 22:05
whl 發表於 2015-2-25 21:41
我認為問題不在這裡,我猜 in=null。

to whl
謝謝您幫我想到問題,但是
我剛剛把while (in != null) 這個判斷式給拿掉
還是一樣都只呈現第一筆的資料
無法呈現第二筆
這樣的話是不是就不可能是in=null的問題了呢?
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

地板
whl | 收聽TA | 只看該作者
發表於 2015-2-25 23:47
in 是哪裡來的?拿掉判斷式就可以改變 in 的資料嗎?你可能誤會我的意思了,再仔細想一想!
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

5
 樓主| kansas73 | 收聽TA | 只看該作者
發表於 2015-3-3 15:30
whl 發表於 2015-2-25 23:47
in 是哪裡來的?拿掉判斷式就可以改變 in 的資料嗎?你可能誤會我的意思了,再仔細想一想! ...

to whl:
in 就是從client那邊get我所送出的資料
我的想法是 既然可以顯示第一筆
為什麼第二筆無法顯示,所以我是覺得應該飛非in等於null的關係
不知道這個想法是不是正確的
持續困擾第10天
用Android 就來Android 台灣中文網(https://apk.tw)
回覆 支持 反對

使用道具 舉報

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

本版積分規則