Beacon在可穿戴設(shè)備中的應(yīng)用:安卓&藍(lán)牙
根據(jù)研究機(jī)構(gòu)IDC統(tǒng)計(jì),2015年智能可穿戴技術(shù)市場(chǎng)將成長(zhǎng)至2014年的5倍之多,產(chǎn)品出貨量預(yù)計(jì)超過(guò)2500萬(wàn)單位,且絕大部分都將采用Bluetooth Smart 為用戶提供無(wú)縫、簡(jiǎn)單易行的連接體驗(yàn)。未來(lái)可穿戴設(shè)備、智能手機(jī)和基于云的互聯(lián)網(wǎng)服務(wù)將更好地協(xié)同工作,再也不需用戶采取任何復(fù)雜的操作或花時(shí)間了解這些專業(yè)知識(shí)。沒(méi)錯(cuò),就是這么簡(jiǎn)單給力!
本文引用地址:http://cafeforensic.com/article/281967.htm在之前Beacon系列文章中,小碼哥與大家介紹了能夠檢測(cè)、并與附近藍(lán)牙 Beacon互動(dòng)的智能手機(jī)APP。在這一系列文章的第二篇中,小碼哥將為大家介紹一款面向安卓智能手機(jī)博物館導(dǎo)覽APP,這一APP就利用藍(lán)牙Beacon向用戶發(fā)送附近重要展品信息的提示信息。而在本系列文章中,小碼哥關(guān)注的則是如何讓Beacon相關(guān)的應(yīng)用在可穿戴設(shè)備上也能夠提供同樣的體驗(yàn)。如果說(shuō)之前的博物館導(dǎo)覽APP是“手掌上的導(dǎo)覽APP”,那么今天小碼哥給大家?guī)?lái)的就是“手腕上的導(dǎo)覽APP”。
Android Wear
2014年,谷歌推出了新的Android Wear版本,這是面向可穿戴設(shè)備的安卓操作系統(tǒng)。一般來(lái)說(shuō),像Moto 360 智能手表這樣的Android Wear設(shè)備都需要與安卓智能手機(jī)協(xié)同工作,而Android Wear支持可穿戴設(shè)備與其他運(yùn)行完整安卓系統(tǒng)的設(shè)備進(jìn)行雙向通信。
Bluetooth Smart的架構(gòu)和角色
在 Android Wear的世界中,設(shè)備就相當(dāng)于節(jié)點(diǎn),這些節(jié)點(diǎn)各自具備不同的功能,并被連接到可穿戴的網(wǎng)絡(luò)中。一般來(lái)說(shuō),智能手機(jī)相當(dāng)于可穿戴網(wǎng)絡(luò)的中樞,與其他類型如智能手表的節(jié)點(diǎn)相連接。節(jié)點(diǎn)與節(jié)點(diǎn)之間就是通過(guò)Bluetooth Smart進(jìn)行通信的,但Android Wear開(kāi)發(fā)者其實(shí)并不需要全盤(pán)地了解Bluetooth Smart。通過(guò)Android Wear的API就可以輕松加愉快地實(shí)現(xiàn)藍(lán)牙技術(shù)的功能!
也就是說(shuō),Android Wear允許開(kāi)發(fā)者直接使用如android.bluetooth.le.BluetoothLeScanner這樣的標(biāo)準(zhǔn)Bluetooth Smart API。這樣,可穿戴設(shè)備就可以脫離手機(jī)的輔助,直接與其他Bluetooth Smart設(shè)備互動(dòng)了。
可穿戴設(shè)備要比智能手機(jī)中樞的功能少得多,因此可穿戴設(shè)備通常要和智能手機(jī)協(xié)同工作,將一些高難的計(jì)算工作交由智能手機(jī)處理。在本文中我們將重點(diǎn)關(guān)注這樣的使用場(chǎng)景。
開(kāi)發(fā)可穿戴博物館導(dǎo)覽APP的三大方法
有三種方法可以將小碼哥之前介紹過(guò)的智能手機(jī)博物館導(dǎo)覽APP拓展到Moto 360智能手表上:
1. 使用標(biāo)準(zhǔn)Android Notifications
2. 使用面向Android Wear設(shè)備的Extend Notifications
3. 開(kāi)發(fā)在可穿戴設(shè)備上運(yùn)行的Android WearAPP
今天小碼哥先為大家介紹前兩個(gè)基于通知的方法。在第二篇中會(huì)再向大家介紹AndroidWear APP的開(kāi)發(fā)。
標(biāo)準(zhǔn)通知(Standard Notifications)
告訴你一個(gè)好消息:安卓智能手機(jī)發(fā)出的任何通知都會(huì)被自動(dòng)發(fā)送至相應(yīng)的、已連接的可穿戴設(shè)備上。因此,如果已經(jīng)在安卓智能手機(jī)APP上使用了通知,那么即使不再另外編寫(xiě)專門(mén)的代碼,APP通知在可穿戴設(shè)備上顯示也不成問(wèn)題,酷吧!
小碼哥之前在Beacon系列文章中的第二篇就包括用于生成通知的代碼片段。
可穿戴設(shè)備的擴(kuò)展通知
安卓API提供一些方法為可穿戴設(shè)備定制信息,而不是單純地把可穿戴設(shè)備作為智能手機(jī)通知提示的顯示屏。例如,我們可以利用特殊的文本樣式,設(shè)置通知的背景圖像,建立多重頁(yè)面讓用戶可以通過(guò)劃屏查看通知詳情,還可以在通知中添加一些操作,增加可穿戴設(shè)備的互動(dòng)性。
我決定為用戶在Android Wear設(shè)備上提供多個(gè)信息頁(yè)面,再添加一些互動(dòng),讓用戶可以對(duì)特定的展覽內(nèi)容做出“喜歡”或“不喜歡”的反饋。這不難實(shí)現(xiàn),只要借助一個(gè)名為WearableExtender的工具即可。我們來(lái)簡(jiǎn)要地看一下代碼吧。
我門(mén)先來(lái)創(chuàng)建三個(gè)包括主要的展覽信息頁(yè)面,為讓使用者更容易在可穿戴設(shè)備上閱讀信息,我們可以使用文字形式呈現(xiàn)。
接下來(lái)我們需要?jiǎng)?chuàng)建Action物件,以回應(yīng)用戶對(duì)互動(dòng)選項(xiàng)“喜歡”和“不喜歡”的選擇。Action與頁(yè)面類似,但需要有一個(gè)與之相關(guān)聯(lián)的Intent包括在PendingIntent對(duì)象里。安卓系統(tǒng)里,Intent是即將執(zhí)行的操作,而PendingIntent是可以交由另一個(gè)應(yīng)用執(zhí)行的Intent。在這里的情況下,前述“另一個(gè)應(yīng)用”指的就是博物館導(dǎo)覽APP,我規(guī)定PendingIntent需要啟動(dòng)一個(gè)名為NotificationActionHandler的Activity。
最后,我們?cè)賱?chuàng)建一個(gè)包括附加頁(yè)面和操作的WearableExtender,再建立一個(gè)包含它的通知,再加上代表一些基本設(shè)置的數(shù)據(jù)和我們的第一個(gè)通知頁(yè)面。觸發(fā)通知,就成了!可穿戴設(shè)備會(huì)收到一個(gè)多頁(yè)的、互動(dòng)的通知。
通知就會(huì)像下圖的形式顯示在智能手表屏幕上
當(dāng)用戶選擇“喜歡”或“不喜歡”的操作后,NotificationActionHandlerActivity就會(huì)在智能手機(jī)上啟動(dòng),顯示以下屏幕之一:
你看,單單利用安卓通知,就能實(shí)現(xiàn)這么多功能!
總結(jié)
Android Wear還是很容易上手的。通知(Notification)對(duì)于大多數(shù)安卓應(yīng)用開(kāi)發(fā)者都不陌生,Bluetooth Smart會(huì)默默地在幕后幫你搞定智能手機(jī)和可穿戴設(shè)備之間的通訊,而不需要開(kāi)發(fā)者花太多時(shí)間專門(mén)了解它。
評(píng)論