發表文章

目前顯示的是 2月, 2017的文章

[Android Studio]Bluetooth Chat 接收問題

使用android studio的範例Bluetooth Chat的時候 會發生傳輸的問題,主要問題在於資料無法接收,但是能夠傳出 找了一下發現跟舊版有所不同的地方是在於資料接收時讀取的方式 舊版在ConnectedThread中 讀取的方式是使用while(true)的方法 新版則是判斷是否連接上裝置 while( mState == STATE_CONNECTED) 但發現在更改狀態之前,就已經先行啟動Thread 因此會造成第一次while發生跳出迴圈的問題 之後就不會再次重新進入迴圈 資料接收也會因此發生問題 因此只要改變setState的順序便能夠順利解決問題 藍芽傳輸的資料每次都能夠順利接收。

[Android Studio] InputStream在Bluetooth Chat中擷取方法

Bluetooth Chat範例中 擷取資料流的方式,主要是透過監聽當InputStream中能讀取資料時 就將資料送出 不過當要傳送大量資料時 常常會因此而將資料截斷 可利用此方法,讓讀取資料大小為多少時才送出資料。 if(bytes < NeedBytes) { bytes += mmInStream.read(buffer,bytes,NeedBytes-bytes); //接收剩下字串 從原本位置到後面位置 } else { mHandler.obtainMessage(Constants.MESSAGE_READ, bytes, -1, buffer) .sendToTarget(); bytes=0; } 建立兩個變數 一個是要接收的bytes數量 ,另外則是現在所接收到的數量 等實際接收到全部字串後,在一次將資料全部輸出至UI 以此簡單的設定法 便可以完成接收特定數量的資料流方法