» 首頁 » 討論區 » Android程式設計 »Android 1.6 藍芽 關於http://code.google.com/p/android-bluetooth/ 的sample

Android 1.6 藍芽 關於http://code.google.com/p/android-bluetooth/ 的sample

發表人: 訪客
發表時間: 2010-08-31 23:55:12
不知道有沒有人有這方面的經驗,可以的話麻煩幫幫小弟,謝謝。
在看過 Seachaos大大的發文後,我嘗試了http://code.google.com/p/android-bluetooth/裡的sample code, 包在trunk裡的所以屬性我都完全的copy了一份在我的eclipse中,並詳細的檢查,發現完全沒有出現錯誤。在執行後,也沒有發生錯誤,但是在 HTC Magic 上實現的時候,在看到之前設定出來的各個button後,真的很興奮,結果按下去之後 終於發生錯誤了,出現: Sorry! The application Android Bluetooth Samples(process it.gerdavax.android.bluetooth.sample)has stopped unexpectedly. Please try again.
但是我試了又試,每個按鍵都會出現這幾行字,冒似 it.gerdavax.android.bluetooth.sample無法成功執行.

我使用的lib裡的AndroidBluetoothLibrary.jar會出現錯誤,因為他裡面並不包含 BluetoothDevice.class 無法使用,所以我改用了在此網的download 中的AndroidBluetoothAPI_0.2.jar,可以使用而且沒有錯誤也成功執行。
如果有碰過,或者是知道的大大們,麻煩幫幫小弟,因為之前已經刷壞一隻HTC Magic了所以只好還是先找1.6 bluetooth 可以使用的方法。
發表人: Seachaos
積分: 2432
發表時間: 2010-09-01 01:51:52
我最後是使用AndroidBluetoothAPI_0.3.jar這個檔案

但是Hero不支援傳輸,只做到掃描設備
不知道你可否貼出你的程式碼?

也有可能是操作流程上的問題
記得操作流程有錯誤,程式就會錯誤

如果你的程式打算給其他人使用,建議還是要用官方的


因為這個API的開發者說只支援以下的使用者
HTC Dream (aka T-Mobile G1, firmware 1.1, 1.5 and 1.6)
HTC Magic (firmware 1.5 and 1.6)
HTC Tattoo (firmware 1.6)
Huawei U8220 (aka T-Mobile Pulse, firmware 1.5)
(partially tested) Samsung Galaxy (firmware 1.5)

而且官方的API和這個API並不相同,無法無痛轉換
發表人: elephant
積分: 12
發表時間: 2010-09-01 16:10:07
我不知道怎麼貼出程式碼 因為程式碼很大,而且我完全是用他所提供的程式碼,在Source->trunk->AndroidBluetoothLibrarySamples裡的全部元件和code都輸入進去

http://code.google.com/p/android-bluetooth/source/browse/#svn/trunk/AndroidBluetoothLibrary%3Fstate%3Dclosed

而且我不能用AndroidBluetoothAPI_0.3.jar會出現程式碼錯誤,所以我試了幾個API後,發現0.2的可以用,所以才用這一版的

我是打算自己實作看看,所以沒有要給別人用的意思。

的確我用的版本是符合他所提供的。但還是沒法成功。
發表人: elephant
積分: 12
發表時間: 2010-09-01 17:26:54
Seachaos大大 有成功使用0.3.jar的話,我想知道的是 匯入他的API檔案的時候,是只要
Build Path->Configuare Build Path->Add External JARs,press OK. 這樣就可以了嗎? 還是有別的步驟呢? 我是只有這樣匯入而已,不知道有沒有錯誤。
發表人: Seachaos
積分: 2432
發表時間: 2010-09-02 22:39:55
是的,只要匯入AndroidBluetoothAPI_0.3.jar就可以使用
如果你用Eclipse做IDE
你就會看到自動完成功能裡面有他的相關函數

程式碼不知道你有沒有空間或是貼上關鍵部分呢?
我的習慣是會自己在包裝一個Class來執行
這樣做版本修改或是對應的話會比較方便