編輯:關於android開發
Android平台提供了一個android.bluetooth的包,裡面實現藍牙設備之間通信的藍牙API。總共有8個類,常用的四個類如下:
代表了一個本地的藍牙適配器。它是所有藍牙交互的入口點。利用它你可以發現其他藍牙設備,查詢綁定了的設備,使用已知的MAC地址實例化一個藍牙設備和建立一個BluetoothServerSocket(作為服務器端)來監聽來自其他設備的連接。
代表了一個遠端的藍牙設備,使用它請求遠端藍牙設備連接或者獲取遠端藍牙設備的名稱、地址、種類和綁定狀態(其信息是封裝在BluetoothSocket中)。
代表了一個藍牙套接字的接口(類似於TCP中的套接字),它是應用程序通過輸入、輸出流與其他藍牙設備通信的連接點。
代表打開服務連接來監聽可能到來的連接請求(屬於server端),為了連接兩個藍牙設備必須有一個設備作為服務器打開一個服務套接字。當遠端設備發起連接連接請求的時候,並且已經連接到了的時候,BlueboothServerSocket類將會返回一個BluetoothSocket。
cancelDiscovery()取消探索,當我們正在搜索設備的時候調用這個方法將不再繼續搜索
disable()關閉藍牙
enable()打開藍牙,這個方法打開藍牙不會彈出提示,更多的時候我們需要問下用戶是否打開,以下兩行代碼同樣是打開藍牙,但會提示用戶:
Intentenabler = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivity(enabler);
getAddress()獲取本地藍牙地址
getDefaultAdapter()獲取默認BluetoothAdapter,實際上,也只有這一種方法獲取BluetoothAdapter
getName()獲取本地藍牙名稱
getRemoteDevice(String address)根據藍牙地址獲取遠程藍牙設備
getState()獲取本地藍牙適配器當前狀態
isDiscovering()判斷當前是否正在查找設備,是則返回true
isEnabled()判斷藍牙是否打開,已打開返回true,否則返回false
listenUsingRfcommWithServiceRecord(String name,UUID uuid)根據名稱,UUID創建並返回BluetoothServerSocket,這是創建BluetoothSocket服務器端的第一步
startDiscovery()開始搜索,這是搜索的第一步
createRfcommSocketToServiceRecord(UUIDuuid)根據UUID創建並返回一個BluetoothSocket,這個方法也是我們獲取BluetoothDevice
的目的——創建BluetoothSocket
這個類其他的方法,如getAddress()、getName()等,同BluetoothAdapter。
//這個類一共有6個方法
close()關閉
connect()連接
isConnected()判斷是否連接
getInptuStream()獲取輸入流
getOutputStream()獲取輸出流
getRemoteDevice()獲取BluetoothSocket指定連接的遠程藍牙設備
//這個類一共有4個方法
accept()
accept(int timeout)
close()關閉
getChannel()返回這個套接字綁定的通道
兩者的區別在於後面的方法指定了過時時間,需要注意的是,執行這兩個方法的時候,直到接收到了客戶端的請求(或是過期之後),都會阻塞線程,應該放在新線程裡運行。還有一點需要注意的是,這兩個方法都返回一個BluetoothSocket,最後的連接也是服務器端與客戶端的兩個BluetoothSocket的連接
1、獲得BluetoothAdapter。
2、通過BluetoothAdapter.listenUsingRfcommWithServiceRecord(name,UUID uuid)方法創建BluetoothServerSocket對象。
3、通過luetoothServerSocket.accept()方法返回一個BluetoothSocket對象。由於該方法處於阻塞狀態,需要開啟線程來處理。
4、通過BluetoothSocket.getInputStream()和BluetoothSocket.getOutputStream()方法獲得讀寫數據的InputStream和OutputStream對象。
5、通過InputStream.read()方法來讀數據。通過OutputStream.write()方法來寫數據。
1、獲得BluetoothAdapter。
2、通過BluetoothAdapter.getRemoteDevice(String address)獲得指定地址的BluetoothDevice對象。
3、通過BluetoothDevice.createRfcommSocketToServiceRecord (UUID uuid)方法創建BluetoothSocket對象。
4、通過BluetoothSocket.connect()方法來連接藍牙設備。
5、通過BluetoothSocket.getInputStream()和BluetoothSocket.getOutputStream()方法獲得讀寫數據的InputStream和OutputStream對象。
6、通過InputStream.read()方法來讀數據。通過OutputStream.write()方法來寫數據。
// UUID:全局唯一標識符,格式為:8-4-4-4-12
// 兩個藍牙設備進行連接需要使用同一個UUID
安卓圖片滑動,實現帶小點的導航頁面效果,安卓小點今天給大家說說安卓中類似這樣的引導頁面怎麼實現,我自己簡單的添加了個跳過按鈕方便跳轉到主界面,圖片跟小點圖片資源大家自己去
Android新手入門2016(6)--客戶端編程思想的初步思考和Android學習路線 做了幾年游戲服務端,不過也不是沒接觸過客戶端的。畢業前的作業就不說了,剛畢業
Centos 7 安裝VNC步驟VNC允許Linux系統可以類似實現像Windows中的遠程桌面訪問那樣訪問Linux桌面。本文配置機器是興寧市網絡信息中心的一台Cent
Android手機屏幕大小的獲取,android屏幕獲取package com.example.testactivity; import android.app.Act