編輯:關於Android編程
本文來自http://blog.csdn.net/hellogv/ ,引用必須注明出處!
上次講了Android手機與BLE終端之間的通信,而最常見的BLE終端應該是蘋果公司倡導的iBeacon基站。iBeacon技術基於BLE,它的特點是通過廣播對外發送消息,手機不需要連上iBeacon基站也能獲取它的信息,目前主要用來做室內定位和營銷信息推送,在BLE發出的廣播裡帶上帶上特定的信息從而被識別為iBeacon。在iOS裡面使用iBeacon要經過passbook注冊iBeacon的UUID和對應的文字簡介,而在Android上則無類似passbook這種系統級的後台藍牙搜索服務,這類服務需要開發者自己搞定。這次就講講Android手機搜索基站和顯示iBeacon基站參數。
搜索iBeacon基站的不難,核心在於BluetoothAdapter.LeScanCallback()的onLeScan(final BluetoothDevice device, int rssi, byte[] scanRecord),而識別iBeacon的信息就在於scanRecord數組。按照https://github.com/RadiusNetworks/android-ibeacon-service/blob/master/src/main/java/com/radiusnetworks/ibeacon/IBeacon.java,識別是否iBeacon靠下面的紅字:
// AirLocate:
// 02 01 1a 1a ff 4c 00 02 15 # Apple's fixed iBeacon advertising prefix
// e2 c5 6d b5 df fb 48 d2 b0 60 d0 f5 a7 10 96 e0 # iBeacon profile uuid
// 00 00 # major
// 00 00 # minor
// c5 # The 2's complement of the calibrated Tx Power
同時要注意iBeacon的UUID和BLE的Service、Characteristic、Descriptor的UUID是沒關系,iBeacon的UUID是廣播的時候發出,是由Apple自己定義的標准,而Service、Characteristic、Descriptor必須是連上BLE終端後才得到,是BLE標准。
本文代碼運行結果如下,不斷變化rssi可以用來做距離判斷,不過這個模塊的txPower不太准,所以測距就沒意義:
本文代碼可以到這裡下載:http://download.csdn.net/detail/hellogv/7269127,代碼就不貼出來了,核心代碼改自https://github.com/RadiusNetworks/android-ibeacon-service。
在Android上,搜索是一個核心用戶特性。用戶可以搜索可用的任何數據,不管內容是存促於設備本身或者需要通過網絡訪問。Android提供了一個搜索框架為用戶創建一個一致的
本文將要模仿Win8界面的一個設計,一個一個的方塊。方法很簡單。這裡自己把圖片改改就可以成為自己想要的界面了。1、首先來看看自定義的MyImageView:package
解析XML的方式有很多種,大家比較熟悉的可能就是DOM解析。DOM(文件對象模型)解析:解析器讀入整個文檔,然後構建一個駐留內存的樹結構,然後代碼就可以根據DOM接口來操
先給大家展示下效果圖,如果感覺不錯,請參考實現思路詳解Android開發中關於短息驗證碼的設計層出不窮,越來越多的應用為了更好的提高軟件的安全性,開始使用通過服務器向用戶