freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內容

基于安卓手機設備的藍牙傳輸-資料下載頁

2024-11-08 01:34本頁面

【導讀】集體已經發(fā)表或撰寫過的作品成果。對本文的研究做出重要貢獻的個。人和集體均已在文中以明確方式標明。本人完全意識到本聲明的法律。結果由本人承擔。1)對本設計進行需求分析。2)對本軟件的UI界面進行設計。3)能獲取Android手機SDCard中的目錄結構。5)能搜索到遠程Android藍牙手機設備,并連接。6)多臺Android藍牙設備之間通過藍牙通信傳輸文件。[1]郭宏志.Android應用開發(fā)詳解[M],電子工業(yè)出版社,[2]李剛.瘋狂Android講義[M],電子工業(yè)出版社,[3]楊豐盛.Android應用程序揭秘[M],機械工業(yè)出版社,2020年5月16日—2020年5月20日:提出答辯申請,制作答辯ppt并答辯。所以將其歸在一起方便操作。隨著Android系統(tǒng)在全世界的風靡,該系統(tǒng)在手持設備上占有率屢屢刷新。生活多錢的通信協(xié)議。與指導老師討論研究,進行論文修改。完成期限為5月8號。對代碼進行多次調試與。修改,根據(jù)軟件的效果對出相應的改進。[4](美)RetoMeier著.王超譯.Andriod2高級編程(第二版)[M],清華大學出版社,2020

  

【正文】 h SIG) 語音能力 有 沒有 網絡拓撲 分散網 Starbus 耗電量 1(作為參考) 至 (視符使用情況) 最大操作電流 30 mA 15 mA (最高運行時為 15 mA) 服務搜索 有 有 簡介概念 有 有 主要用途 手機,游戲機,耳機,立體聲音頻流, 汽車和 PC等 手機,游戲機, PC,表,體育和健身,醫(yī)療保健, 汽車,家用電子,自動化和工業(yè)等 表 34 12 3 基于 Android 系統(tǒng) 藍牙 (BLUETOOTH)技術 基于 Android 的藍牙技術 安卓平臺支持藍牙協(xié)議棧,此協(xié)議允許一個設備與另外的藍牙設備通過無線傳播交換數(shù)據(jù)。這個應用框架通過 Android Bluetooth APIs 提供相應的藍牙功能接口。這個 APIs 讓應用程序可以通過無線連接其他的藍牙設備,使能夠點對點和多點式無線傳播功能 [9]。 使用 Bluetooth APIs,安卓應用可以實現(xiàn)以下功能: 1. 查找其他藍牙設備。 2. 查詢與本地適配器配 對的藍牙設備。 3. 建立 RFCOMM 頻道。 4. 通過服務端發(fā)現(xiàn)來連接其他設備。 5. 從其他設別傳送和接收數(shù)據(jù)。 6. 管理多點式連接。 基于 Android 系統(tǒng)的藍牙基礎 這個文檔描述怎么利用 Android Bluetooth APIs 去完成需要使用藍牙進行通信的四個主要任務:設置藍牙,在本地尋找可成對的或者有效的設備,連接設備,在設備間轉移數(shù)據(jù)。 在 包中,所有的 Bluetooth APIs 都是有效的。這里有你需要創(chuàng)建藍牙連接的類和接口的 概述。 1. BluetoothAdapter BluetoothAdapter 代表本地藍牙適配器(藍牙無線電)。 BluetoothAdapter 是所有藍牙互動的入口點。使用它,你可以發(fā)現(xiàn)其他藍牙設備,詢問已經綁定設備的列表,實例化一個 BluetoothDevice 使用已知的 MAC 地址,創(chuàng)建一個BluetoothServerSocket 去監(jiān)聽其他設備的連接。 2. BluetoothDevice BluetoothDevice 代表遠程的藍牙設備(及被連接的設備)。使用這個去請 求連接遠程設備 3. BluetoothSocket 表示藍牙 Socket 接口(類似于 TCP Socket)。這是一個通過 InputStream 和OutputStream 連接點允許應用程序與其他藍牙裝置進行數(shù)據(jù)交換。 4. BluetoothServerSocket 代表一個打開的偵聽傳入請求的 server Socket(類似于一個 TCP 的ServerSocket)。為了連接兩臺 Android 設備,一臺設備必須使用這個類打開這個 13 服務。當一個遠程藍牙設備發(fā)送了一個與該設備的連接 請求時,當連接請求完成。BluetoothServerSocket 將返回一個已經連接上了的 socket。 5. BluetoothClass 描述一個藍牙設備的一般特點和能力。這是一個只讀的屬性定義主設備的和次要設備的類和它的服務。然而,這并不能可靠地描述所有的藍牙設備所支持的配置文件和服務,但作為一個提示的設備類型是非常有用的。 6. BluetoothProfile 代表了藍牙配置文件的接口。藍牙配置文件是一個基于藍牙技術的設備之間的通信的無線接口規(guī)范。一個例子是免提配置 文件。對于配置文件的更多討論,請參閱使用配置文件。 7. BluetoothHeadset 提供將藍牙耳機使用到移動手持設備上的支持。這既包括藍牙耳機和免提( )型材。 8. BluetoothA2dp 定義高品質的音頻,可以從一個設備傳輸?shù)搅硪粋€通過藍牙連接?!?A2DP”代表高級音頻分配模式。 9. BluetoothHealth 代表醫(yī)療設備規(guī)范代理控制藍牙服務。 10. BluetoothHealthCallback 一個用來實施 BluetoothHealth 接口回調的抽象類。你必須擴展這個類并實現(xiàn)回調方法來接收更新應用程序的注冊狀態(tài)和藍牙信道狀態(tài)的變化。 11. Bluetoothhealthappconfiguration 代表 bluetooth health的第三方應用程序與遠程 bluetooth health設備間的注冊連接的應用程序配置。 12. 一個通知 BluetoothProfile 的 IPC 客戶端已連接到或從服務斷開的接口( 即,運行的特定配置文件的內部服務)。 藍牙的權限 為了在您的應用程序中使用藍牙功能,你需要聲明兩個藍牙的權限:BLUETOOTH 和 BLUETOOTH_ADMIN 的至少一個。 您必須要求藍牙權限,以便執(zhí)行任何藍牙通訊,如請求一個連接,接受連接,傳輸數(shù)據(jù)。 你必須請求 BLUETOOTH_ADMIN 權限,以用來啟動設備的發(fā)現(xiàn)或操縱藍牙設置。僅能夠發(fā)現(xiàn)本地藍牙設備的大多數(shù)應用程序都需要這個權限。此權限授 14 予其他的能力不應該被使用,除非應用程序是一個“電源管理”,將根據(jù)用戶的要求修改藍牙 設置。注:如果您使用許可 BLUETOOTH_ADMIN,然后還必須有 BLUETOOTH 權限。 藍牙的設置 當你的應用程序通過藍牙進行通信時,你需要確認該設備是否支持藍牙功能,如果支持,則要確保它被啟動。 如果不支持藍牙,那么你應該禁用任何藍牙功能。如果支持藍牙,但是被禁用,那么你可以要求用戶在不需要離開應用程序的前提下啟動藍牙。這種設置通過 BluetoothAdapter,并且需這兩步才能完成。 獲取 BluetoothAdapter BluetoothAdapter 幾乎貫穿在整個藍牙的活動周期。為了獲得bluetoothAdapter,可以調用 getDefaultAdapter 靜態(tài)方法。前面這個方法的返回值表達設備的藍牙適配器。如果返回的是 null,怎么表示該設備不支持藍牙 [10]。 藍牙是否可見 接下來,你需要確認藍牙是可見的。調用 isEnabled()去檢查藍牙當前是否可見。如果這個方法返回 false,那么藍牙是處于不可見的狀態(tài)。為了請求藍牙可見,可以調用 startActitivityForResult(),并 ACTION_REQUEST_ENABLE 設置動作意圖。這將通過系統(tǒng)設置發(fā)出一個請求啟用藍牙(無需停止你的應用程序)。 將出現(xiàn)一個對話框要求用戶權限啟用藍牙,如果用戶回答“是”,系統(tǒng)將開始啟用藍牙和焦點將返回到您的應用程序。 REQUEST_ENABLE_BT 常數(shù)是通過 startActivityForResult 本地定義的整數(shù)(必須大于 0)。 如果啟用藍牙成功,你的生命周期通過 onActivityResult()回調方法接收RESULT_OK 結果代碼。如果由于一個錯誤(或用戶回答“否”)藍牙未啟動,則結果代碼 RESULT_CANCELED。 或者,您的應用程序也可以監(jiān)聽 ACTION_STATE_CHANGED 廣播意向,當藍牙狀態(tài)已經改變該系統(tǒng)將播出。此廣播,包含新的和舊的藍牙狀態(tài),分別包含額外的字段 EXTRA_STATE、 EXTRA_PREVIOUS_STATE。這些額外的字段可能 的 值 是 STATE_ON STATE_TURNING_ON , STATE_TURNING_OFF ,STATE_OFF。監(jiān)聽這個廣播可以檢測您的應用程序正在運行時藍牙狀態(tài)的變化。 查找設備 通過 BluetoothAdapter,你可以找到遠程藍牙設備,通過設備發(fā)現(xiàn),或通過查詢設備(連接)的列表進行匹配。 15 Device discovery 是搜索當?shù)氐?bluetooth 可見設備,對某個可見設備發(fā)送請求信息(這些被稱為“發(fā)現(xiàn)”,“查詢”或“掃描”)。然而,只有當它可以被發(fā)現(xiàn)時。局域網內的藍牙設備才會對發(fā)現(xiàn)請求作出回應。如果一個設備是可被發(fā)現(xiàn)的,它會分享一些信息,如設備的名稱,類別,和其唯一的 MAC 地址發(fā)現(xiàn)請求。 在第一次與遠程設備連接之后,配對請求將自動呈現(xiàn)給用戶。當設備配對后,該設備的基本信息(如設備的名稱,類 別,和 MAC 地址)將被保存,并可以使用藍牙 API 讀取。連接遠程設備使用已知的 MAC 地址,可以用它啟動在任何時候不執(zhí)行發(fā)現(xiàn)(假設設備在范圍內)。 配對和連接之間是有區(qū)別的。進行配對,意味著兩個設備都知道對方的存在。有一個可用于認證的密鑰共同的鏈路,并且能夠與對方建立加密連接。建立連接的意思就是共享一個 RFCOMM 信道,并且能夠相互傳輸數(shù)據(jù)。目前 Android 的藍牙 API 的 RFCOMM 連接建立前要求設備進行配對(配對時自動與藍牙 API執(zhí)行你啟動一個加密的連接)。 查找匹配設備 在查詢匹配 其他設備時,可以用 getBondedDevices()獲取其他已經打開藍牙的設備。然后將其存在一個藍牙設備數(shù)組中。就可以從其中取出自己需要匹配的設備了。 發(fā)現(xiàn)設備 開始發(fā)現(xiàn)設備時,只需調用 startDiscovery()。這個過程是異步的,該方法將立即返回一個布爾值,表示發(fā)現(xiàn)是否已成功啟動。這個過程通常約 12 秒,查詢掃描隨后由頁面掃描每個發(fā)現(xiàn)的設備來檢索它的藍牙名稱。 你的應用程序必須注冊一個 BroadcastReceiver 的 ACTION_FOUND 意圖,以便接收所有被發(fā)現(xiàn)設備的信息。對于 每個設備,系統(tǒng)將會通過 ACTION_FOUND意向進行廣播。這個意圖承載了額外的兩部分( EXTRA_DEVICE 和EXTRA_CLASS),分別含有一個 BluetoothDevice 和 BluetoothClass。 可被發(fā)現(xiàn)設備 如果你想使本地設備可以被其他設備發(fā)現(xiàn),調用 startActivityForResult( Intent, int)和 ACTION_REQUEST_DISCOVERABLE 的行動意圖。通過系統(tǒng)設置(無需停止你的應用程序)這將發(fā)出一個可被發(fā)現(xiàn)的模式請求。默認情況下,該裝置將可被發(fā)現(xiàn) 120 秒。您可以通過添加額外EXTRA_DISCOVERABLE_DURATION 意圖定義不同的持續(xù)時間。一個應用程序可以設置的最大持續(xù)時間為 3600 秒,和值為 0 意味著設備總是發(fā)現(xiàn)。任何值小于 0 或大于 3600 會自動設置為 120 秒) 。例如,這個片段的持續(xù)時間設置為 16 300 秒,將顯示一個對話框,要求用戶設置設備權限以使其可發(fā)現(xiàn)。調函數(shù)onActivityResult()。如果用戶回答“否”或者發(fā)生錯誤,結果代碼將被RESULT_CANCELED。 連接設備 為了創(chuàng)建兩個設備上的應用程序之間的連接,你必須實現(xiàn)兩者的服務器和客戶端的機制,因為一個設備必須打開一個服務器 Socket 和另一個必須啟動連接(使用服務器設備的 MAC 地址發(fā)起一個連接)。當服務器和客戶端都有一個連接 BluetoothSocket在同一個 RFCOMM通道就被 認為是服務器和客戶端連接到對方了。在這一點上,每個設備都可以獲取輸入和輸出流就可以開始數(shù)據(jù)傳輸了,一節(jié)中所討論的有關管理連接。本節(jié)介紹如何啟動兩個設備之間的連接。 在服務器設備和客戶端設備的將以不同的方式獲得所需的 BluetoothSocket。當一個傳入連接被接受,服務器將接受客戶端。當打開一個 RFCOMM 通道到服務器時,客戶端將接受服務器端。 服務器連接 當你想連接兩個設備,一個設備必須通過調用 BluetoothServerSocket 作為服務器。服務器套接字的目的是偵聽傳入 的被接受的連接請求和當一個設備接受連接時,提供了一個從 BluetoothServerSocket 獲得的連接的 BluetoothSocket。BluetoothServerSocket 可以(而且應該)被丟棄,除非你想接受更多的連接。 下面介紹設立一個服務器套接字接受連接的基本步驟。 1. 通過調用 listenUsingRfmWithServiceRecord(String,UUID)來獲取BluetoothServerSocket。這個 String 是識別您的服務名稱,系統(tǒng)將自動寫入到一個 新的服務發(fā)現(xiàn)協(xié)議( SDP)的設備上的數(shù)據(jù)庫項(這個名字是任意的,可以簡單地將您的應用程序的名稱)。 UUID 被包含在 SDP 條目中,是用來規(guī)定與客戶端設備的連接協(xié)議。也就是說,當客戶端試圖連接這個設備,它會攜帶一個 UUID的唯一標識明確與它連接的具體是哪項服務。這些 UUID 必須匹配才能被接受的連接(下一步)。 2. 通過調用 accept()開始監(jiān)聽連接請求 .這是一個阻塞調用。它會返回連接已接受或已發(fā)生異常這兩種情況。只有當遠程設備發(fā)送連接請求一個 UUID 匹配一個已經注冊了的服務器 socket,
點擊復制文檔內容
畢業(yè)設計相關推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1