編寫(xiě):kesenhoo - 原文:http://developer.android.com/training/wearables/apps/creating.html
可穿戴應(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)用戶下載配套手持設(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)用的工程。
在開(kāi)始建立可穿戴設(shè)備應(yīng)用前,必須:
升級(jí)后的SDK工具使我們可以建立和測(cè)試可穿戴應(yīng)用。
升級(jí)后的平臺(tái)版本為可穿戴應(yīng)用提供了新的 API。
想要了解如何升級(jí)SDK,請(qǐng)查看Get the latest SDK tools。
我們推薦在真機(jī)上進(jìn)行開(kāi)發(fā),這樣可以更好地評(píng)估用戶體驗(yàn)。然而,模擬器可以使我們?cè)诓煌?lèi)型的設(shè)備屏幕上進(jìn)行模擬,這對(duì)測(cè)試來(lái)說(shuō)非常有用。
建立Android Wear虛擬設(shè)備需要下面幾個(gè)步驟:
adb -d forward tcp:5601 tcp:5601建立Android Wear真機(jī),需要下面幾個(gè)步驟:
Android Studio上的Android Tool窗口可以顯示可穿戴設(shè)備的日志。當(dāng)你執(zhí)行adb devices命令的時(shí)候,可穿戴設(shè)備應(yīng)該會(huì)出現(xiàn)在該窗口中。
在開(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ò)程中,輸入下面的信息:
當(dāng)安裝向?qū)瓿珊?,Andorid Studio創(chuàng)建了一個(gè)包含mobile與wear兩個(gè)模塊的工程?,F(xiàn)在,我們有一個(gè)工程可以在手持設(shè)備和可穿戴設(shè)備應(yīng)用中創(chuàng)建activity,service,layout等。在手持應(yīng)用里面,需要承擔(dān)大部分繁重的任務(wù),例如網(wǎng)絡(luò)請(qǐng)求,密集計(jì)算任務(wù)或者是需要大量用戶交互的任務(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)是wearable support library中的一個(gè)UI組件。
在開(kāi)發(fā)過(guò)程中,我們可以像安裝手持應(yīng)用一樣直接將應(yīng)用安裝到可穿戴設(shè)備上??梢允褂?code>adb install命令,也可以使用Android Studio上面的Play按鈕。
當(dāng)需要把應(yīng)用發(fā)布給用戶的時(shí)候,需要把可穿戴應(yīng)用打包到手持應(yīng)用中。當(dāng)用戶從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!"
項(xiàng)目安裝向?qū)?huì)自動(dòng)把合適的模塊依賴添加到對(duì)應(yīng)的build.gradle文件中。然而,這些依賴并不是必須的,請(qǐng)閱讀下面描述判斷是否需要這些依賴。
Notifications
The Android v4 support library (或者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依賴移除。
Wearable Data Layer
可穿戴與手持設(shè)備之間進(jìn)行同步與發(fā)送數(shù)據(jù)需要使用Wearable Data Layer APIs, 這需要用到最新版本的Google Play Services。如果我們不需要這些APIs,可以從這兩個(gè)模塊中把這部分的依賴移除。
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ì)使用到。
在下一節(jié)課,我們將會(huì)學(xué)習(xí)如何創(chuàng)建為可穿戴設(shè)備設(shè)計(jì)的布局,同時(shí)學(xué)習(xí)如何使用各種語(yǔ)音action。