日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 中文 api (72) —— BluetoothSocket[蓝牙]

發布時間:2023/12/10 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 中文 api (72) —— BluetoothSocket[蓝牙] 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

  本章內容是 android.bluetooth.BluetoothSocket,為Android藍牙部分的章節翻譯。藍牙通訊套接字,代表了與遠端設備的連接點,使用socket本地程序可以通過inputstream和outputstream與遠端程序進行通訊。版本為 Android 2.3 r1,翻譯來自中山大學的"Android Club SYSU",歡迎訪問他們的WIKI:http://www.android-wiki.net,再次感謝"Android Club SYSU"!期待你一起參與Android API 的中文翻譯,聯系我 over140@gmail.com。

?

聲明

  歡迎轉載,但請保留文章原始出處:)

    Android Club SYSU:http://www.android-wiki.net

    博客園:http://www.cnblogs.com/

    Android中文翻譯組:http://code.taobao.org/project/view/404/

?

正文

  一、結構

public final class?BluetoothSocket?extends?Object?implements?Parcelable

????????

java.lang.Object

android.bluetooth.BluetoothSocket

?

  二、概述

?????????已連接或連接到藍牙套接字(socket)

?????????藍牙端口監聽接口和TCP端口類似:SocketServerSocket類。在服務器端,使用BluetoothServerSocket類來創建一個?監聽服務端口。當一個連接被BluetoothServerSocket所接受,它會返回一個新的BluetoothSocket來管理該連接。在客戶?端,使用一個單獨的BluetoothSocket類去初始化一個外接連接和管理該連接。

 最通常使用的藍牙端口是RFCOMM,它是被Android API支持的類型。RFCOMM是一個面向連接,通過藍牙模塊進行的數據流傳輸方式,它也被稱為串行端口規范(Serial Port ProfileSPP)。

 為了創建一個BluetoothSocket去連接到一個已知設備,使用方法?BluetoothDevice.createRfcommSocketToServiceRecord()。然后調用connect()方法去嘗試一個面向遠程設備的連接。這個調用將被阻塞指導一個連接已經建立或者該鏈接失效。

 為了創建一個BluetoothSocket作為服務端(或者主機),查看BluetoothServerSocket文檔。

 每當該端口連接成功,無論它初始化為客戶端,或者被接受作為服務器端,通過getInputStream()getOutputStream()來打開IO流,從而獲得各自的InputStreamOutputStream對象

 BluetoothSocket類線程安全。特別的,close()方法總會馬上放棄外界操作并關閉服務器端口。

 注意:需要BLUETOOTH權限。

 參見

?????????BluetoothServerSocket

 ????InputStream

? ???OutputStream

?

  三、公共方法

????public void?close?()

馬上關閉該端口并且釋放所有相關的資源。

在其它線程的該端口中引起阻塞,從而使系統馬上拋出一個IO異常。

異常

IOException

?

????public void?connect?()

嘗試連接到遠程設備。

該方法將阻塞,指導一個連接建立或者失效。如果該方法沒有返回異常值,則該端口現在已經建立。

當設備查找正在進行的時候,創建對遠程藍牙設備的新連接不可被嘗試。在藍牙適配器上,設備查找是一個重量級過程,并且肯定會降低一個設備的連接。使用cancelDiscovery()方法去取消一個外界的查詢。查詢并不由活動所管理,而作為一個系統服務來運行,所以即使它不能直接請求一個查詢,應用 程序也總會調用cancelDiscovery()方法。

close()方法可以用來放棄從另一線程而來的調用。

異常

IOException?????一個錯誤,例如連接失敗。

?

????public InputStream?getInputStream?()

通過連接的端口獲得輸入數據流

即使該端口未連接,該輸入數據流也會返回。不過在該數據流上的操作將拋出異常,直到相關的連接已經建立。

返回值

輸入流

異常

IOException

?

????public OutputStream?getOutputStream?()

通過連接的端口獲得輸出數據流

即使該端口未連接,該輸出數據流也會返回。不過在該數據流上的操作將拋出異常,直到相關的連接已經建立。

返回值

輸出流

異常

IOException

?

????public BluetoothDevice?getRemoteDevice?()

獲得該端口正在連接或者已經連接的遠程設備。

返回值

遠程設備

?

  四、補充

????  文章精選

???  ?????第四十一講:Android藍牙編程入門

      Android藍牙APIBluetoothSocket

      Android藍牙APIBluetoothSocket(2)


轉載:http://www.cnblogs.com/over140/archive/2010/12/22/1913353.html

總結

以上是生活随笔為你收集整理的android 中文 api (72) —— BluetoothSocket[蓝牙]的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。