可穿戴應(yīng)用可以直接運(yùn)行在可穿戴的設(shè)備上肥橙。擁有訪問(wèn)類(lèi)似傳感器的硬件權(quán)限,還有操作activity秸侣,services等權(quán)限存筏。
當(dāng)我們想要將可穿戴設(shè)備應(yīng)用發(fā)布到Google Play商店時(shí)宠互,我們需要有該應(yīng)用的配套手持設(shè)備應(yīng)用。因?yàn)榭纱┐髟O(shè)備不支持Google Play商店椭坚,所以當(dāng)用戶(hù)下載配套手持設(shè)備應(yīng)用的時(shí)候予跌,會(huì)自動(dòng)安裝可穿戴應(yīng)用到可穿戴設(shè)備上。手持設(shè)備應(yīng)用還可以用來(lái)處理一些繁重的任務(wù)善茎、網(wǎng)絡(luò)指令或者其它工作券册,和發(fā)送操作結(jié)果給可穿戴設(shè)備。
這節(jié)課會(huì)介紹如何安裝一個(gè)設(shè)備或者模擬器垂涯,和如何創(chuàng)建一個(gè)包含了手持應(yīng)用與可穿戴應(yīng)用的工程烁焙。
升級(jí)SDK
在開(kāi)始建立可穿戴設(shè)備應(yīng)用前,必須:
?將SDK工具升級(jí)到23.0.0或者更高的版本
升級(jí)后的SDK工具使我們可以建立和測(cè)試可穿戴應(yīng)用耕赘。
?將SDK升級(jí)到Android 4.4W.2(API 20)或者更高
升級(jí)后的平臺(tái)版本為可穿戴應(yīng)用提供了新的 API骄蝇。
搭建Android Wear模擬器或者真機(jī)設(shè)備。
我們推薦在真機(jī)上進(jìn)行開(kāi)發(fā)鞠苟,這樣可以更好地評(píng)估用戶(hù)體驗(yàn)乞榨。然而,模擬器可以使我們?cè)诓煌?lèi)型的設(shè)備屏幕上進(jìn)行模擬当娱,這對(duì)測(cè)試來(lái)說(shuō)非常有用吃既。
搭建Android Wear虛擬設(shè)備
建立Android Wear虛擬設(shè)備需要下面幾個(gè)步驟:
1?? 點(diǎn)擊Tools > Android > AVD Manager。
2?? 點(diǎn)擊Create Virtual Device...跨细。
i???????????????????????????? 點(diǎn)擊Category列表的Wear選項(xiàng)鹦倚。
ii?????????????????????????? 選擇Android Wear Square或者Android Wear Round。
iii??????????????????????? 點(diǎn)擊Next按鈕冀惭。
iv??????????????????????? 選擇一個(gè)release name(例如震叙,KitKat Wear)。
v?????????????????????????? 點(diǎn)擊Next按鈕散休。
vi??????????????????????? (可選)改變虛擬設(shè)備的首選項(xiàng)媒楼。
vii????????????????????? 點(diǎn)擊Finish按鈕。
3?? 啟動(dòng)模擬器:
i???????????????????????????? 選擇我們剛才創(chuàng)建的虛擬設(shè)備戚丸。
ii?????????????????????????? 點(diǎn)擊Play按鈕划址。
iii??????????????????????? 等待模擬器初始化直到顯示Android Wear的主界面。
4?? 匹配手持和模擬器:
i???????????????????????????? 在我們的手持設(shè)備上限府,從Google Play安裝Android Wear應(yīng)用夺颤。
ii?????????????????????????? 通過(guò)USB將手持設(shè)備連接到電腦。
iii?????? 切換AVD的通信端口到已連接的手持設(shè)備(每次連接上手持設(shè)備時(shí)都要執(zhí)行這個(gè)步驟):adb -d forward tcp:5601 tcp:5601
iv
v?????????????????????????? 啟動(dòng)手持設(shè)備上的Android Wear應(yīng)用胁勺,并連接到模擬器世澜。
vi??????????????????????? 點(diǎn)擊Android Wear應(yīng)用右上角的菜單,選擇Demo Cards署穗。
vii????????????????????? 我們選擇的卡片會(huì)以Notification的形式呈現(xiàn)在模擬器的主頁(yè)上寥裂。
搭建Android Wear真機(jī)
建立Android Wear真機(jī)嵌洼,需要下面幾個(gè)步驟:
1?? 在手持設(shè)備的Google Play上安裝Android Wear應(yīng)用。
2?? 按照應(yīng)用的命令指示與我們的可穿戴設(shè)備進(jìn)行配對(duì)封恰。如果你有做建立notification的操作咱台,這個(gè)步驟剛好可以測(cè)試這一功能。
3?? 保持Android Wear應(yīng)用在手機(jī)上的打開(kāi)狀態(tài)俭驮。
4?? 打開(kāi)Android Wear設(shè)備的adb調(diào)試開(kāi)關(guān)。
i???????????????????????????? 選擇Settings > About春贸。
ii?????????????????????????? 點(diǎn)擊Build number7次混萝。
iii??????????????????????? 右滑返回到Setting菜單。
iv??????????????????????? 進(jìn)入屏幕底部的Developer options萍恕。
v?????????????????????????? 點(diǎn)擊ADB Debugging來(lái)打開(kāi)adb逸嘀。
5?? 通過(guò)USB連接可穿戴設(shè)備到電腦上,這樣我們能夠直接安裝應(yīng)用到可穿戴設(shè)備上允粤。此時(shí)崭倘,在可穿戴設(shè)備與Android Wear應(yīng)用上會(huì)顯示一個(gè)消息,提示是否允許進(jìn)行調(diào)試类垫。
6?? 在Android Wear應(yīng)用上司光,選擇Always allow from this computer并且點(diǎn)擊OK。
Android Studio上的AndroidTool窗口可以顯示可穿戴設(shè)備的日志悉患。當(dāng)你執(zhí)行adb devices命令的時(shí)候残家,可穿戴設(shè)備應(yīng)該會(huì)出現(xiàn)在該窗口中。
創(chuàng)建工程
在開(kāi)始開(kāi)發(fā)之前售躁,需要?jiǎng)?chuàng)建一個(gè)包含可穿戴應(yīng)用與手持應(yīng)用這兩個(gè)模塊的工程坞淮。在Android Studio中,點(diǎn)擊File>New Project陪捷,然后按照創(chuàng)建工程的指引進(jìn)行操作回窘。在我們按照安裝向?qū)Р僮鞯倪^(guò)程中,輸入下面的信息:
1?? 在Configure your Project窗口里市袖,輸入應(yīng)用的名稱(chēng)與一個(gè)包名啡直。
2?? 在Form Factors窗口中:
???????????????????????????? 勾選Phone and Tablet并在Minimum SDK下拉菜單中選擇API 9: Android 2.3 (Gingerbread)。
???????????????????????????? 勾選Wear并在Minimum SDK下拉菜單中選擇API 20: Android 4.4 (KitKat Wear)凌盯。
3?? 在第一個(gè)Add an Activity窗口付枫,為手機(jī)應(yīng)用添加一個(gè)空白的activity。
4?? 在第二個(gè)Add an Activity窗口驰怎,為可穿戴應(yīng)用添加一個(gè)空白的activity阐滩。
當(dāng)安裝向?qū)瓿珊螅珹ndorid Studio創(chuàng)建了一個(gè)包含mobile與wear兩個(gè)模塊的工程∠丶桑現(xiàn)在掂榔,我們有一個(gè)工程可以在手持設(shè)備和可穿戴設(shè)備應(yīng)用中創(chuàng)建activity继效,service,layout等装获。在手持應(yīng)用里面瑞信,需要承擔(dān)大部分繁重的任務(wù),例如網(wǎng)絡(luò)請(qǐng)求穴豫,密集計(jì)算任務(wù)或者是需要大量用戶(hù)交互的任務(wù)凡简。待這些任務(wù)完成之后,通常會(huì)把任務(wù)結(jié)果通過(guò)notification發(fā)送給可穿戴設(shè)備上精肃,或者是通過(guò)同步機(jī)制發(fā)送數(shù)據(jù)給可穿戴設(shè)備秤涩。
Note:可穿戴模塊包含了一個(gè)"Hello World"的activity,它是使用WatchViewStub類(lèi)司抱。該類(lèi)根據(jù)設(shè)備屏幕是圓的還是方的來(lái)填充一個(gè)布局筐眷。WatchViewStub類(lèi)是穿戴設(shè)備支持庫(kù)中的一個(gè)UI組件。
安裝可穿戴應(yīng)用
在開(kāi)發(fā)過(guò)程中习柠,我們可以像安裝手持應(yīng)用一樣直接將應(yīng)用安裝到可穿戴設(shè)備上匀谣。可以使用adb install命令资溃,也可以使用Android Studio上面的Play按鈕武翎。
當(dāng)需要把應(yīng)用發(fā)布給用戶(hù)的時(shí)候,需要把可穿戴應(yīng)用打包到手持應(yīng)用中肉拓。當(dāng)用戶(hù)從Google Play安裝手持應(yīng)用時(shí)后频,連接上的可穿戴設(shè)備會(huì)自動(dòng)收到可穿戴應(yīng)用。
Note:如果我們給應(yīng)用簽名是debug key暖途,是無(wú)法完成自動(dòng)安裝可穿戴應(yīng)用的(只有release key才可以)卑惜。請(qǐng)參考打包可穿戴應(yīng)用獲取更多信息,學(xué)習(xí)如何正確的打包驻售。
為了安裝"Hello World"應(yīng)用到可穿戴設(shè)備露久,在Android Studiod的Run/Debug configuration的下拉菜單中選中wear,點(diǎn)擊Play按鈕即可欺栗。在可穿戴設(shè)備上會(huì)顯示activity并打印"Hello world!"
include正確的libraries
項(xiàng)目安裝向?qū)?huì)自動(dòng)把合適的模塊依賴(lài)添加到對(duì)應(yīng)的build.gradle文件中毫痕。然而,這些依賴(lài)并不是必須的迟几,請(qǐng)閱讀下面描述判斷是否需要這些依賴(lài)消请。
Notifications
Androidv4運(yùn)行庫(kù) (或者v13)包含一些API,這些API可以將手持設(shè)備應(yīng)用已經(jīng)存在的notification擴(kuò)展到可穿戴應(yīng)用上类腮。
對(duì)于只顯示在可穿戴設(shè)備上的notification(這意味著臊泰,他們是由直接執(zhí)行在可穿戴設(shè)備上的app進(jìn)行處理的),我們可以在Wear模塊僅僅使用標(biāo)準(zhǔn)APIs (API Level 20) 并且把Mobile模塊的support library依賴(lài)移除蚜枢。
Wearable Data Layer
可穿戴與手持設(shè)備之間進(jìn)行同步與發(fā)送數(shù)據(jù)需要使用Wearable Data Layer APIs, 這需要用到最新版本的Google Play服務(wù)缸逃。如果我們不需要這些APIs针饥,可以從這兩個(gè)模塊中把這部分的依賴(lài)移除。
Wearable UI support library
這是一個(gè)非官方正式的library需频,它包含了為可穿戴設(shè)備設(shè)計(jì)的UI組件丁眼。我們鼓勵(lì)你在你的應(yīng)用中使用他們,因?yàn)檫@些組件是最佳實(shí)踐的例證昭殉。但是他們可能隨時(shí)發(fā)生變化苞七。然而,如果library有更新挪丢,你的應(yīng)用并不會(huì)發(fā)送崩潰莽鸭,因?yàn)槟切┐a已經(jīng)編譯到你的應(yīng)用中了。為了獲取更新包中新的功能吃靠,你只需要更新鏈接到新的版本并相應(yīng)的更新你的應(yīng)用就好了。這個(gè)library只是在你需要?jiǎng)?chuàng)建可穿戴應(yīng)用時(shí)才會(huì)使用到足淆。