您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么用JS開發智能表應用”,在日常操作中,相信很多人在怎么用JS開發智能表應用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么用JS開發智能表應用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
配置
1、準備工作(下載、安裝、環境配置、創建項目等)
這個過于簡單,就毋庸贅言了,請參考官方文檔
生成的目錄結構,就是這個樣子。對于安卓開發來講,應該是很熟悉的,但對于前端來講,就很懵逼啊。
什么gradle文件,這是啥啊,咦,為什么還有java,我不是選擇的js模板呢?很是疑惑。先不管了,硬著頭皮干。
2、config.json權限列表配置(fetch、network等)
鴻蒙應用里,image標簽想要使用https的外鏈資源,必須要配置權限,同理,fetch接口請求也是如此。
我自己在開發過程中,是配置了網絡請求的權限,以及網絡狀態的權限。
"reqPermissions": [ { "name": "ohos.permission.GET_NETWORK_INFO" }, { "name": "ohos.permission.GET_WIFI_INFO" }, { "name": "ohos.permission.INTERNET", }, ],
3、離線簽名與簽名配置 (用于真機調試)
如果用不到真機調試,可忽略這一步。
請參考文檔
編輯器的版本不一樣,使用的密鑰文件不一樣。有的是.p12,有的是.jks。
如果你生成的是jks,那么你可能需要轉換p12,筆者就轉過,可自行百度。
申請開發者證書和調試 Profile
request.json 如下:
{ "developerRequest": { "Applicant": "XXXX", "ApplicationName": "XXXX", "CN": "XXXX", "validYear": "1" }, "provisionRequest": { "debug-info": { "device-ids": [ "" // 調試真機的UDID ] }, "permissions": { "restricted-permissions": [ "harmonyos.permission.ANSWER_PHONE_CALLS" ] }, "bundle-name": "你的包名", "developer-id": "你的開發者ID" } }
然后將你生成csr、p12還有這個request.json一并發給華為的人,然后他們會給你cer和p7b的文件,你直接導入就行了。
至此,真機調試的準備工作我們就已經完成了。
真機調試打出來的包是hap包,如果要上架的話,必須是.app的文件,所以我們還要在項目配置里,導入這些證書等,同上一步操作。
4、集成 Wear Engine SDK(手表和APP通訊)
APP和手表都要集成對應的SDK,才能通訊
添加編譯依賴
1、聯系華為接口人獲取 SDK。
2、將 SDK 解壓后,把 SDK 中的 har 包放在項目\entry\ libs 目錄下。
3、打開應用級的 build.gradle 文件。
4、在“dependencies ”中添加如下編譯依賴,,然后同步。
5、生成穿戴設備側簽名證書指紋、設備檢測
手表側要配置APP的指紋和包名,APP側要配置手表側的指紋和包名
請參考文檔
手表側配置APP的包名和指紋代碼如下
6、編譯構建生成HAP或者生成APP
請參考文檔
開發
開發倒沒有什么好說的,就是正常的前端那一套,布局、樣式、邏輯。需要注意的是,設備的分辨率是454*454,圓形屏幕,需要留出安全距離。
如果手表需要和手機APP進行交互的話,JS的能力比較弱,需要依賴JAVA來做中轉。
JAVA代碼不是我寫的,直接照抄的官方文檔,然后讓安卓客戶端改造了一下。
我做的這個項目就是這么做的,目錄如下:
還有一點要注意的,JAVA不能主動向JS發送消息,需要JS主動才行。手機和手表信息同步時候,需要用戶信息,我們的做法是:手機端登陸后,會向我的手表發一個用戶身份信息,手表側的JAVA代碼能接收到,但是JS收不到,這個時候我的做法是在手表側的JS做一個輪詢,向JAVA去索取登錄信息。一般的做法就是setInterval,但是我發覺這個setInterval在鴻蒙里并不生效,我很絕望,最后我采用了遞歸。就是手表在onShow生命周期里,不停的調用PA能力(可參考文檔),如果拿到了用戶信息,就緩存到本地,停止調用,然后發送fetch請求,拿到服務端的數據。這樣一個數據同步就完成了。
說到緩存,也有一個小坑,這個value值,一定要是字符串,本來我的res就是字符串,但是直接寫,會報錯,必須用JSON.stringify()轉一下。
調用PA能力的代碼如下:
JAVA先注冊一個CalcInternalAbility,供JS調用。
JS調用該方法,如下,value就是JAVA的返回值。
調試
這里主要講JS的調試
JS打印調試信息,一般都是console.log(),但是這個編輯器里推薦使用console.info()。
一旦程序開始運行時候,控制臺里會不停的打印一些信息,完全看不懂,我們想要看看我們的JS代碼執行到那個環節了,也不能很清晰的找到,推薦我自己用的方法。
這樣我們就可以在控制臺清楚的看到自己的打印信息,也就知道代碼執行到哪一步了。
到此,關于“怎么用JS開發智能表應用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。