成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

2020征文-鴻蒙智能手表【純干貨】手把手教你JS開發(fā)智能表應(yīng)用

開發(fā) 前端
今天為什么有時間寫這篇文章呢?因為我的智能手表應(yīng)用已經(jīng)開發(fā)、聯(lián)調(diào)、測試完畢了,馬上要上架啦。

前言

本人于9月中旬,開始接觸鴻蒙。那時候還只是抱著嘗新的心態(tài),跟著官方文檔,寫出了TV版的hello world和Lite Wearable的hello world,現(xiàn)在回想起來,還是有點激動。

到了9月下旬,公司收到了華為寄過來的搭載鴻蒙系統(tǒng)的智能手表,因為某種原因,智能表開發(fā)的任務(wù)落到了我頭上。我是前端開發(fā),說實話,當時接到這個任務(wù)時候,其實沒多少底,畢竟不懂APP開發(fā)的流程,雖說鴻蒙支持JS開發(fā),但其實心里也清楚,里面應(yīng)該還是有很多坑要踩的,事實證明,坑是真的多。哈哈哈。

今天為什么有時間寫這篇文章呢?因為我的智能手表應(yīng)用已經(jīng)開發(fā)、聯(lián)調(diào)、測試完畢了,馬上要上架啦。

話不多說,讓我們進入正題。

配置

1、準備工作(下載、安裝、環(huán)境配置、創(chuàng)建項目等)

這個過于簡單,就毋庸贅言了,請參考官方文檔

生成的目錄結(jié)構(gòu),就是這個樣子。對于安卓開發(fā)來講,應(yīng)該是很熟悉的,但對于前端來講,就很懵逼啊。

什么gradle文件,這是啥啊,咦,為什么還有java,我不是選擇的js模板呢?很是疑惑。先不管了,硬著頭皮干。


2、config.json權(quán)限列表配置(fetch、network等)

鴻蒙應(yīng)用里,image標簽想要使用https的外鏈資源,必須要配置權(quán)限,同理,fetch接口請求也是如此。

我自己在開發(fā)過程中,是配置了網(wǎng)絡(luò)請求的權(quán)限,以及網(wǎng)絡(luò)狀態(tài)的權(quán)限。

  1. "reqPermissions": [ 
  2.   { 
  3.     "name""ohos.permission.GET_NETWORK_INFO" 
  4.   }, 
  5.   { 
  6.     "name""ohos.permission.GET_WIFI_INFO" 
  7.   }, 
  8.   { 
  9.     "name""ohos.permission.INTERNET"
  10.   }, 
  11. ], 

 3、離線簽名與簽名配置 (用于真機調(diào)試)

如果用不到真機調(diào)試,可忽略這一步。

請參考文檔

編輯器的版本不一樣,使用的密鑰文件不一樣。有的是.p12,有的是.jks。

如果你生成的是jks,那么你可能需要轉(zhuǎn)換p12,筆者就轉(zhuǎn)過,可自行百度。

申請開發(fā)者證書和調(diào)試 Profile

request.json 如下:

  1.  
  2. "developerRequest": { 
  3.  
  4. "Applicant""XXXX"
  5.  
  6. "ApplicationName""XXXX"
  7.  
  8. "CN""XXXX"
  9.  
  10. "validYear""1" 
  11.  
  12. }, 
  13.  
  14. "provisionRequest": { 
  15.  
  16. "debug-info": { 
  17.  
  18. "device-ids": [ 
  19.  
  20. "" // 調(diào)試真機的UDID 
  21.  
  22.  
  23. }, 
  24.  
  25. "permissions": { 
  26.  
  27. "restricted-permissions": [ 
  28.  
  29. "harmonyos.permission.ANSWER_PHONE_CALLS" 
  30.  
  31.  
  32. }, 
  33.  
  34. "bundle-name""你的包名"
  35.  
  36. "developer-id""你的開發(fā)者ID" 
  37.  
  38.  

 然后將你生成csr、p12還有這個request.json一并發(fā)給華為的人,然后他們會給你cer和p7b的文件,你直接導(dǎo)入就行了。


至此,真機調(diào)試的準備工作我們就已經(jīng)完成了。

真機調(diào)試打出來的包是hap包,如果要上架的話,必須是.app的文件,所以我們還要在項目配置里,導(dǎo)入這些證書等,同上一步操作。


4、集成 Wear Engine SDK(手表和APP通訊)

APP和手表都要集成對應(yīng)的SDK,才能通訊

添加編譯依賴

1、聯(lián)系華為接口人獲取 SDK。

2、將 SDK 解壓后,把 SDK 中的 har 包放在項目\entry\ libs 目錄下。

3、打開應(yīng)用級的 build.gradle 文件。


4、在“dependencies ”中添加如下編譯依賴,,然后同步。


5、生成穿戴設(shè)備側(cè)簽名證書指紋、設(shè)備檢測

手表側(cè)要配置APP的指紋和包名,APP側(cè)要配置手表側(cè)的指紋和包名

請參考文檔

手表側(cè)配置APP的包名和指紋代碼如下


6、編譯構(gòu)建生成HAP或者生成APP

請參考文檔

開發(fā)

開發(fā)倒沒有什么好說的,就是正常的前端那一套,布局、樣式、邏輯。需要注意的是,設(shè)備的分辨率是454*454,圓形屏幕,需要留出安全距離。

如果手表需要和手機APP進行交互的話,JS的能力比較弱,需要依賴JAVA來做中轉(zhuǎn)。

JAVA代碼不是我寫的,直接照抄的官方文檔,然后讓安卓客戶端改造了一下。

我做的這個項目就是這么做的,目錄如下:


還有一點要注意的,JAVA不能主動向JS發(fā)送消息,需要JS主動才行。手機和手表信息同步時候,需要用戶信息,我們的做法是:手機端登陸后,會向我的手表發(fā)一個用戶身份信息,手表側(cè)的JAVA代碼能接收到,但是JS收不到,這個時候我的做法是在手表側(cè)的JS做一個輪詢,向JAVA去索取登錄信息。一般的做法就是setInterval,但是我發(fā)覺這個setInterval在鴻蒙里并不生效,我很絕望,最后我采用了遞歸。就是手表在onShow生命周期里,不停的調(diào)用PA能力(可參考文檔),如果拿到了用戶信息,就緩存到本地,停止調(diào)用,然后發(fā)送fetch請求,拿到服務(wù)端的數(shù)據(jù)。這樣一個數(shù)據(jù)同步就完成了。

說到緩存,也有一個小坑,這個value值,一定要是字符串,本來我的res就是字符串,但是直接寫,會報錯,必須用JSON.stringify()轉(zhuǎn)一下。


調(diào)用PA能力的代碼如下:

JAVA先注冊一個CalcInternalAbility,供JS調(diào)用。


JS調(diào)用該方法,如下,value就是JAVA的返回值。

調(diào)試

這里主要講JS的調(diào)試

JS打印調(diào)試信息,一般都是console.log(),但是這個編輯器里推薦使用console.info()。

一旦程序開始運行時候,控制臺里會不停的打印一些信息,完全看不懂,我們想要看看我們的JS代碼執(zhí)行到那個環(huán)節(jié)了,也不能很清晰的找到,推薦我自己用的方法。


這樣我們就可以在控制臺清楚的看到自己的打印信息,也就知道代碼執(zhí)行到哪一步了。

結(jié)尾

整個項目開發(fā)過程中,坑還是挺多的,但是沒辦法,畢竟剛出來。

但只要是在慢慢變好,那就未來可期,

雖然華為諸多磨難,但鴻蒙仍需背負"小小"的使命感,

經(jīng)歷過更多磕碰,鴻蒙才會更加厚重,

希望喜歡鴻蒙的人能繼續(xù)喜歡鴻蒙,不喜歡鴻蒙的人能慢慢嘗試接受鴻蒙。

想了解更多內(nèi)容,請訪問:

51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)

https://harmonyos.51cto.com/#zz

 

責任編輯:jianghua 來源: 鴻蒙社區(qū)
相關(guān)推薦

2021-11-24 16:02:57

鴻蒙HarmonyOS應(yīng)用

2019-05-05 11:47:09

TypeScript開發(fā)Node.js

2020-12-23 09:58:37

HarmonyOSHAPAPP

2021-02-26 11:54:38

MyBatis 插件接口

2010-04-29 09:49:26

代碼提示SQL Server

2017-12-01 05:01:35

WiFi干擾無線網(wǎng)絡(luò)

2024-03-05 18:27:43

2024-04-02 08:58:13

2011-01-10 14:41:26

2011-05-03 15:59:00

黑盒打印機

2025-05-07 00:31:30

2022-03-14 14:47:21

HarmonyOS操作系統(tǒng)鴻蒙

2021-07-14 09:00:00

JavaFX開發(fā)應(yīng)用

2015-04-02 11:22:29

2020-08-12 09:07:53

Python開發(fā)爬蟲

2011-02-22 13:46:27

微軟SQL.NET

2021-12-28 08:38:26

Linux 中斷喚醒系統(tǒng)Linux 系統(tǒng)

2011-04-28 09:23:36

REST

2022-04-19 10:45:28

自動化簽名鴻蒙app操作系統(tǒng)

2017-09-08 15:12:25

智能手表智能眼鏡VR
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: a看片 | 国产一区二区电影 | 成人依人 | 国产免费视频在线 | 国产精品我不卡 | 免费视频一区 | 91在线网| 日本高清视频网站 | 日韩中文字幕免费在线 | 亚洲视频欧美视频 | 精品国产免费一区二区三区演员表 | 自拍偷拍第一页 | 欧美日韩一本 | 亚洲一区二区三区免费在线观看 | 亚洲精品一区av在线播放 | 国产在线中文字幕 | 国产精品毛片一区二区三区 | 午夜看看 | 午夜天堂精品久久久久 | 成人日韩 | 成人精品久久 | 99精品国产一区二区青青牛奶 | 亚洲精品国产成人 | 中文视频在线 | 在线观看亚洲一区二区 | 中文字幕一区二区三区乱码在线 | 狠狠av| 在线欧美亚洲 | 91色啪| 一区二区三区四区电影视频在线观看 | 国产一级视频在线观看 | 久久久观看| 久久午夜国产精品www忘忧草 | www亚洲精品 | 中文字幕一二三区 | 中文字幕一区二区三区在线观看 | 精品久| 久久精品视频在线观看 | 亚洲欧美在线一区 | 牛牛热在线视频 | 精区3d动漫一品二品精区 |