藍牙開發要學什么?
時間:2019-10-10 來源:武漢中心,陳老師
1.什么是藍牙
藍牙是一種支持設備短距離通信(一般是10m之內)的無線電技術。能在包括移動電話、PDA、無線耳機、筆記本電腦、相關外設等眾多設備之間進行無線信息交換。藍牙的標準是IEEE802.15,工作在2.4GHz 頻帶,帶寬為1Mb/s。支持語音和數據傳輸;采用無線電技術,傳輸范圍大,可穿透不同物質以及在物質間擴散;采用跳頻展頻技術,抗干擾性強,不易竊聽。
2.BluetoothAdapter
BluetoothAdapter表示藍牙適配器,也就是本地藍牙,一般的安卓手機或者平板都有藍牙模塊,因此,你想通過藍牙去連接外部的藍牙設備,必須要獲取本地藍牙適配器,通過他才能外部藍牙進行連接。
3.BluetoothDevices
我們希望與外部藍牙進行連接,就必須知道遠程外部藍牙的mac地址,所以,我們首先要獲取遠程外部藍牙,假如我們需要連接的是一個新的(未配對過的)藍牙設備,因此我們必須開啟藍牙發現,藍牙發現是一個重量級的過程,耗
時且耗系統資源,因此當我們發現遠程藍牙之后,必須停止藍牙發現。
4.藍牙連接
我們假定存在外部藍牙設備,即存在藍牙的服務端,在此只考慮藍牙客戶端的情況。在執行藍牙連接之前,一定要取消藍牙發現,取消藍牙發現也挺簡單的。只需要調用BluetoothAdapter.cancelDiscovery();由于藍牙連接是一個阻塞的方法,因此,我們新建一個線程實現藍牙連接是一個不錯的方式,如果在UI線程中直接調用藍牙連接的方法,很有可能造成ANR錯誤,于是直接上代碼:

5.藍牙通信
藍牙連接完成以后,只需要獲取mmSocket端口的藍牙輸入,輸出流即可與外部藍牙進行通信。

