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

正文內(nèi)容

畢業(yè)設(shè)計(jì)-基于android平臺(tái)的心電圖儀設(shè)計(jì)-資料下載頁

2025-06-04 01:17本頁面
  

【正文】 配 置文件添加到界面中: public boolean onCreateOptionsMenu(Menu menu) { // TODO Autogenerated method stub MenuInflater mi = getMenuInflater()。 (, menu)。 return true。 } 27 數(shù)據(jù)采集設(shè)計(jì) 設(shè)置藍(lán)牙通信 使用藍(lán)牙進(jìn)行通信之前,你需要確認(rèn)你的設(shè)備支持藍(lán)牙,啟動(dòng)藍(lán)牙需要兩個(gè)步驟,并且需要 BluetoothAdapter 類。 1. 獲得 BluetoothAdapter 類 任何藍(lán)牙 activity 都需要 BluetoothAdapter 類。使用靜態(tài)方法getDefaultAdapter()獲得一個(gè) BluetoothAdapter 的實(shí)例,這代表了設(shè)備本身的藍(lán)牙適配器 (the Bluetooth radio)。整個(gè)系統(tǒng)只有一個(gè)藍(lán)牙適配器,你的程序可以通過獲取到 BluetoothAdapter 實(shí)例與之交互。如果 getDefaultAdapter()方法返回null 則說明你的設(shè)備不支持藍(lán)牙。 BluetoothAdapter btAdapt = ()。 If(btAdapt == null) { (this, “沒有提供藍(lán)牙設(shè)備 ”, ).show()。 Finish()。 return。 } 2. 啟動(dòng)藍(lán)牙 接下來,你必須確保用戶啟動(dòng)了藍(lán)牙。調(diào)用 isEnabled()方法來檢查當(dāng)前藍(lán)牙是否啟動(dòng)。如果該方法返回 false,那么說明藍(lán)牙沒有啟動(dòng)。這時(shí)需要使用“ACTION_REQUEST_ENABLE”action Intent 作為參數(shù),調(diào)用startActivityForResult()方法來請(qǐng)求啟動(dòng)藍(lán)牙。這將通過系統(tǒng)設(shè)備來發(fā)出啟動(dòng)藍(lán)牙的請(qǐng)求 (不會(huì)停止你的程序 )。例如: if (!()) { Intent enableBtIntent = new Intent()。 startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)。 } 發(fā)現(xiàn)藍(lán)牙設(shè)備 發(fā)現(xiàn)藍(lán)牙設(shè)備列表是一連串的掃描過程,可以查詢到本地已啟動(dòng)的藍(lán)牙設(shè)28 備,然后請(qǐng)求一些信息。已啟動(dòng)的藍(lán)牙設(shè)備會(huì)提供一些信息,比如設(shè)備名稱、 MAC地址、類和互連狀態(tài)。使用這些信息可以和遠(yuǎn)程藍(lán)牙設(shè)備建立一個(gè)連接。 1. 查詢配對(duì)設(shè)備 在執(zhí)行 device discovery 之前,最好在已配對(duì)的設(shè)備列表中查看所要發(fā)現(xiàn)的設(shè)備是否已經(jīng)存在。通過調(diào)用 getBondedDevices()函數(shù)可以獲得代表已經(jīng)配對(duì)的設(shè)備的 BluetoothDevice 集合。 例如,你可 以查詢所有已經(jīng)配對(duì)的設(shè)備,然后通過一個(gè) ArrayAdapter 添加和顯示每個(gè)設(shè)備的名字給用戶 : SetBluetoothDevice pairedDevices = ()。 //If there are paired devices if (() 0) { // Loop through paired devices for (BluetoothDevice device : pairedDevices) { //Add the name and address to an array adapter to show in a ListView (() + /n + ())。 } } 2. 發(fā)現(xiàn)設(shè)備 調(diào)用 startDiscovery() 開始設(shè)備發(fā)現(xiàn)的過程,這個(gè)過程是異步的,startDiscovery()方法會(huì)立即返回一個(gè) boolean 的值表示啟動(dòng)是否成功。這個(gè)發(fā)現(xiàn)過程通常包括大約 12 秒的查詢掃描,之后是在發(fā)現(xiàn)的設(shè)備中查詢其藍(lán)牙名稱。 你的應(yīng)用程序中必須注冊(cè)一個(gè) ACTION_FOUND Intent 的 BroadcastReceiver,用于接收發(fā)現(xiàn)一個(gè)藍(lán)牙設(shè)備時(shí)發(fā)出的信息。對(duì)于每一個(gè)設(shè)備,系統(tǒng)將廣播ACTION_FOUND 的 Intent。這個(gè) Intent 包含了一些附加數(shù)據(jù)域 —EXTRA_DEVICE和 EXTRA_CLASS,分別包含 BluetoothDevice 類和 BluetoothClass 類的實(shí)例。 //Create a BroadcastReceiver for ACTION_FOUND private final BroadcastReceiver mReceiver = new BroadcastReceiver() { public void onReceive(Context context, Intent intent) { String action = ()。 // When discovery finds a device 29 if ((action)) { // Get the BluetoothDevice object from the Intent BluetoothDevice device = ()。 // Add the name and address to an array adapter to show in a ListView (() + /n + ())。 } } }。 // Register the BroadcastReceiverIntentFilter filter = new IntentFilter()。 registerReceiver(mReceiver, filter)。 // Don39。t fet to unregister during onDestroy 3. 啟動(dòng)發(fā)現(xiàn)功能 如果你想要你的設(shè)備能被其他設(shè)備發(fā)現(xiàn),調(diào)用startActivityForResult(Intent,int),傳遞一個(gè) ACTION_REQUEST_DISCOVERABLE action Intent 給它。這將發(fā)送一個(gè)請(qǐng)求給系統(tǒng)設(shè)置以啟動(dòng)可被發(fā)現(xiàn)模式??杀话l(fā)現(xiàn)模式一般默認(rèn)持續(xù) 120 秒,你可以通過給 Intent 添加一個(gè)EXTRA_DISCOVERABLE_DURATION Intent extra 來更改可被發(fā)現(xiàn)模式的持續(xù)時(shí)間,這個(gè)時(shí)間最大是 300 秒。 Intent discoverableIntent = new Intent()。 (BluetoothAdapter. EXTRA_DISCOVERABLE_DURATION, 300)。 startActivity(discoverableIntent)。 連接藍(lán)牙設(shè)備 為了在 兩個(gè)藍(lán)牙設(shè)備之間建立一條應(yīng)用程序的連接,你必須建立一個(gè)服務(wù)器和一個(gè)客戶端的機(jī)制,其中服務(wù)端要打開藍(lán)牙套接字接口,而客戶端使用服務(wù)器端得 MAC 地址來啟動(dòng)一條連接。當(dāng)服務(wù)端和客戶端彼此之間都認(rèn)為是連接上了,他們?cè)?RFCOMM 協(xié)議管道上都會(huì)有一個(gè)藍(lán)牙套接字接口 BluetoothSocket。每一個(gè)藍(lán)牙設(shè)備都會(huì)收到輸入數(shù)據(jù)流和發(fā)出輸出數(shù)據(jù)流,可以開始互相傳遞數(shù)據(jù)。 30 1. 服務(wù)端連接 當(dāng)要連接兩個(gè)藍(lán)牙設(shè)備時(shí),其中一個(gè)藍(lán)牙設(shè)備必須是已經(jīng)打開BluetoothServerSocket 的服務(wù)端,同時(shí)開始監(jiān)聽請(qǐng)求連接的信息,當(dāng) 一個(gè)藍(lán)牙設(shè)備被接受時(shí),會(huì)提供一個(gè)連接 BluetoothSocket。當(dāng)一個(gè)連接 BluetoothSocket 已被 BluetoothServerSocket 接受后, BluetoothServerSocket 可以丟棄,除非你希望接受多個(gè)連接。 建立服務(wù)端的藍(lán)牙套接字接口和接受一個(gè)連接的基本步驟: 調(diào)用 listenUsingRfmWithServiceRecord(String, UUID)方法來取得BluetoothServerSocket 。 調(diào)用 accept( )方法請(qǐng)求開始監(jiān)聽服務(wù)端的藍(lán)牙套接字; 可以調(diào)用 close() 方法釋放服務(wù)端的藍(lán)牙套接字,除非你希望接受更多其它連接; 2. 客戶端連接 為了要和遠(yuǎn)程藍(lán)牙設(shè)備啟動(dòng)一個(gè)連接,這個(gè)設(shè)備要擁有一個(gè)公開的服務(wù)端的藍(lán)牙套接字。首先你必須獲得一個(gè) BluetoothDevice 對(duì)象代表遠(yuǎn)程藍(lán)牙設(shè)備。你必須使用這個(gè) BluetoothDevice 來獲取 BluetoothSocket 并啟動(dòng)連接。 啟動(dòng)客戶端的藍(lán)牙通信連接的基本步驟: 步驟 1 使用這個(gè) BluetoothDevice,調(diào)用createRfmSocketToServiceRecord(UUID) 方法來取得 BluetoothSocket。 步驟 2 調(diào)用 connect()方法來啟動(dòng)藍(lán)牙通信連接。 管理藍(lán)牙連接 當(dāng)你成功連接一個(gè)或多個(gè)藍(lán)牙設(shè)備時(shí),每一個(gè)藍(lán)牙設(shè)備都有一條連接BluetoothSocket,此時(shí)藍(lán)牙設(shè)備彼此間可以傳遞數(shù)據(jù)。使用 BluetoothSocket,傳遞任何數(shù)據(jù)的過程都很簡單,其步驟如下所示: 步驟 1 通過 InputStream 和 OutputStream 接口來傳遞數(shù)據(jù),分別調(diào)用 getInputStream() 和 getOutputStream()方法來實(shí)現(xiàn)。 步驟 2 調(diào) 用 read( byte[]) 和 write( byte[] )方法來讀寫數(shù)據(jù)流。最后可以31 使用 canncel()方法來結(jié)束連接,關(guān)閉 BluetoothSocket。 [7] 數(shù)據(jù)轉(zhuǎn)化設(shè)計(jì) 導(dǎo)聯(lián)數(shù)據(jù)的幀格式: 一幀數(shù)據(jù)中含有各路數(shù)據(jù)的一次采樣值,每個(gè)值的寬度為 12 bit,量化單位為( 16 2400)247。 8388607 mV 一幀數(shù)據(jù)含 16 個(gè)字節(jié),意義如下表。 字節(jié)序號(hào) 數(shù)據(jù)名稱 AAH 第 1引導(dǎo)符 幀起始標(biāo)志 55H 第 2引導(dǎo)符 S1 狀態(tài)字節(jié) 1,包含導(dǎo)聯(lián)脫落、心跳等信息 附加信息暫不用 S2 狀態(tài)字節(jié) 1,包含其他信息 [VLVR]H 導(dǎo)聯(lián)Ⅰ的高 8位 8 路有效數(shù)據(jù) ,每路12bits [VFVR]H 導(dǎo)聯(lián)Ⅱ的高 8位 [VLVR]L , [VFVR]H 導(dǎo)聯(lián)Ⅰ的低 4位與導(dǎo)聯(lián)Ⅱ的低 4位拼合成 1字節(jié)。 [VC1]H 導(dǎo)聯(lián) C1的高 8位 [VC2]H 導(dǎo)聯(lián) C2的高 8位 [VC1]L, [VC2]L 導(dǎo)聯(lián) C1的低 4位與導(dǎo)聯(lián) C2的低 4位拼合成 1字節(jié)。 [VC3]H 導(dǎo)聯(lián) C3的高 8位 [VC4]H 導(dǎo)聯(lián) C4的高 8位 [VC3]L, [VC4]L 導(dǎo)聯(lián) C3的低 4位與 導(dǎo)聯(lián) C4的低 4位拼合成 1字節(jié)。 [VC5]H 導(dǎo)聯(lián) C5的高 8位 [VC6]H 導(dǎo)聯(lián) C6的高 8位 [VC5]L, [VC6]L 導(dǎo)聯(lián) C5的低 4位與導(dǎo)聯(lián) C6的低 4位拼合成 1字節(jié)。 public void processData(byte[] byteBuf) { mShortBuffer = new short[12]。 byte[] temp = new byte[2]。 int j = 2。 for (int i = 0。 i 8。) { temp[0] = byteBuf[j + 2]。 temp[1] = byteBuf[j]。 temp[0] = (byte) (temp[0] 4)。 32 mShortBuffer[i] = temp[1]。 mShortBuffer[i] = (short) (mShortBuffer[i] 4)。 mShortBuffer[i] += temp[0]。 i++。 temp[0] = byteBuf[j + 2]。 temp[1] = byteBuf[j + 1]。 temp[0] = (byte) (temp[0] 4)。 temp[0] = (byte) (temp[0] 4)。 mShortBuffer[i] = temp[1]。 mShortBuffer[i] = (short) (mShortBuffer[i] 4)。 mShortBuffer[i] += temp[0]。 i++。 j += 3。 } mShortBuffer[8] = (short) (mShortBuffer[1] mShortBuffer[0])。 mShortBuffer[9] = (short) (mShortBuffer[1] + mShortBuffer[8] / )。 mShortBuffer[10] = (short) (mShortBuffer[0] mShortBuffer[1] / )。 mShortBuffer[11] = (short) (mShortBuffer[8] + mShortBuffer[0] / )。 for (int
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1