01-01 14:26:09.655: D/MainActivity(8204): 確認有無藍芽裝置?
01-01 14:26:09.661: D/MainActivity(8204): 找到藍芽裝置
01-01 14:26:09.664: D/MainActivity(8204): 進入++ ON START ++
01-01 14:26:09.664: D/MainActivity(8204): btLinked = false
01-01 14:26:09.665: D/MainActivity(8204): 確認藍芽有沒有打開?
01-01 14:26:09.667: D/MainActivity(8204): 藍芽已經打開了
01-01 14:26:09.668: D/MainActivity(8204): 開始執行setupChat(), 取得設定各畫面元件的id值
01-01 14:26:09.669: D/MainActivity(8204): 開始初始化Bluetooth Service, 並建立handleMessage訊息機制, 用來接受執行緒傳回來的資料即時更新UI
01-01 14:26:09.673: D/MainActivity(8204): 進入 ++ ON RESUME ++
01-01 14:26:09.673: D/MainActivity(8204): 確認目前並沒有任何藍芽連線
01-01 14:26:09.673: D/MainBTService(8204): 開始執行Bluetooth Service程序
01-01 14:26:09.673: D/MainBTService(8204): 設定目前藍芽裝置的連線狀況為 : 1
01-01 14:26:09.674: D/MainBTService(8204): 初始化藍芽等候連線的執行緒
01-01 14:26:09.674: D/MainBTService(8204): 開始執行等候連線的執行緒
01-01 14:26:09.674: D/MainActivity(8204): 開始執行Bluetooth Service
01-01 14:26:09.698: D/MainBTService(8204): 建立藍芽裝置的UUID碼
01-01 14:26:09.701: D/MainActivity(8204): 藍芽目前處在等候遠方連線或沒有連線中
01-01 14:26:09.726: D/MainBTService(8204): 先取消搜尋藍芽裝置
01-01 14:26:09.726: D/MainBTService(8204): 確認目前不是連線中
01-01 14:26:09.726: D/MainBTService(8204): 開始一直等候遠方的藍芽連線
01-01 14:26:11.659: D/MainBTService(8204): 主動連線開始, 先清除等候監聽的執行緒
01-01 14:26:11.660: D/MainBTService(8204): 釋放HamboAcceptThread的Socket資源
01-01 14:26:11.661: D/MainBTService(8204): 初始化等候連線執行緒相關參數錯誤
01-01 14:26:11.661: D/MainBTService(8204): 初始化主動連線的執行緒
01-01 14:26:11.661: D/MainBTService(8204): 進入主動連線的ConnectTread執行緒
01-01 14:26:11.661: D/MainBTService(8204): 建立主動連線的UUID碼
01-01 14:26:11.661: D/MainBTService(8204): 主動連線的執行緒開始執行
01-01 14:26:11.663: D/MainBTService(8204): 開始Client端連線執行緒
01-01 14:26:11.663: D/MainBTService(8204): 先取消搜尋藍芽裝置
01-01 14:26:11.669: D/MainBTService(8204): 執行Client端連線
01-01 14:26:12.732: D/MainBTService(8204): 初始化Client端輸入串流緩衝區
01-01 14:26:12.732: D/MainBTService(8204): 初始化Client端輸出串流緩衝區
01-01 14:26:12.732: D/MainBTService(8204): Client端連線成功
01-01 14:26:12.732: D/MainBTService(8204): 設定目前藍芽裝置的連線狀況為 : 3
01-01 14:26:12.732: D/MainBTService(8204): 等候遠方Server藍芽的訊息中...
01-01 14:26:12.740: D/MainActivity(8204): 本地藍芽已經和遠方藍芽連線了
可以從以上看出, 程序一執行是先進入等候連線的監聽執行緒開始, 等到按下主動連線(也就是Client端連線到Server), 先取消等候連線的監聽執行緒, 再執行主動連線的執行緒, 源碼是分得太過細小, 常常有看沒有懂, 所以自己把它改寫成二個執行緒, 一個監聽, 一個主動連線, 這樣不但清楚而且以後拿來用時也方便, 只是程序執行效率沒有源碼那麼好, 我也不是專精在Android的軟體, 所以也沒關係, 可以用就好
沒有留言:
張貼留言
歡迎大家來討論交流一下~~~