看板 AndroidDev 關於我們 聯絡資訊
1.想請問用ByteArrayOutputStream這個方法可以排好記憶體裡面的資料嗎? 例如我從外部傳送1000筆資料,我想要用以下的方式實現 buffer[0]~buffer[499] + buffer[500]~buffer[999] 2.我嘗試傳送到終端機,確保我的資料有傳送,實際上有 ,但用了以下的方法 可能只有前4萬多筆有資料 之後的資料都消失了 是我沒接收到嗎? 尤其是以下程式的其中一段os.write(buffer, 0, bytes); 用 log.d 去看 os.size 的話是有76800資料沒錯,但就像我說的 到最後資料會不見,這邊是我頭痛的地方,好好的資料有傳送,為什麼 接到一半就消失了呢?? 有請高手幫忙,感恩..... ------------------------------------------------------- public void run() { Log.i(TAG, "BEGIN mConnectedThread"); byte[] buffer = new byte[76800]; int bytes; ByteArrayOutputStream os = new ByteArrayOutputStream(); while (true) { try { bytes = mmInStream.read(buffer); Thread.sleep(3000); if(bytes >= 0) { os.write(buffer, 0, bytes); Thread.sleep(1000); } if(os.size()>=76800) { Log.d("test1","bitmap:"+os.size()); bitmap(buffer); os.reset(); mmOutStream.write(0x31); } mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1, buffer).sendToTarget(); } catch (IOException e) { Log.e(TAG, "disconnected", e); connectionLost(); break; } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 60.244.178.107
ghostman:換個方式說好了 有什麼方法可以一次接收完全部資料的呢? 05/19 17:06