<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在OpenHarmony上開發服務卡片

OpenHarmony技術社區 ? 來源:OpenHarmony技術社區 ? 2023-04-10 11:12 ? 次閱讀

本篇文章我們將分享如何在 OpenHarmony 上開發服務卡片。

洞察鴻蒙軟件開發

APPGallery Connect 的該軟件需要通過在 APPGallery Connect 中創建項目后添加應用從而獲取 Json 文件。

然后把此文件放在碼云中下載的 FA 源碼中:

DistSchedule
etconfigsrcmain
esources

按照文檔開發 UI 界面,點擊構建的 Generate Key and CSR 創建用戶名與密鑰進行簽名。

①創建項目

在華為開發官網的“我的項目”中,選擇 HarmonyOS 平臺等完成填寫:

https://developer.huawei.com/consumer/cn/service/josp/agc/index.html#/

②用戶操作界面

在 slice 目錄下新建 xxxSlice.java文件,通過 addActionRoute 方法為此 AbilitySlice 配置一條路由規則,并且在在應用配置文件(config.json)中注冊。

在 resources/base/layout 下新建對應 xml 布局文件,在上述兩個文件中編寫相應的 UI。

③軟件數據處理

從 slice 獲取 deviceId:在 onStart 中通過調用 DeviceID 等,獲取設備的名稱等方便該軟件識別設備。

從 slice 頁面獲取狀態:開關鎖可以直接調用 intent.getBooleanParam 來確定是進行開關鎖還是對門鎖的日程進行編排。

④配置設備端信息

在 entrysrcmainjsdefaultpagesindex 中為主要修改的內容:

f30d4f18-d6a4-11ed-bfe3-dac502259ad0.png

上圖為項目信息,另外還要看一下手機應用側的 netconfig 配網模塊。

主要目錄框架分析

開發文件目錄:

`--src
`--main
|--config.json//應用配置文件
|--js
|`--default
||--app.js//應用程序入口
||--common//公共資源
|||--ic_back.png
|||--icon_faqi.png
|||--icon_faxian.png
|||--icon_jia_sel.png
|||--icon_jian_sel.png
|||--icon_jingbao.png
|||--icon_liuzhuan.png
|||--icon_shuru.png
|||--icon_wifi_off.png
|||--icon_wifi_on.png
||`--icon_yunxu.png
||--i18n//多語言文件
|||--en-US.json
||`--zh-CN.json
|`--pages//存放所有組件頁面
||--dm//設備認證界面
|||--dm.css
|||--dm.hml
||`--dm.js
||--index//首頁界面
|||--index.css
|||--index.hml
||`--index.js
|`--app.js//生命周期管理
`--resources
|--base
||--element
||`--string.json
|`--media
||--icon.png
|`--icon_small.png
`--config.json

設置事件(js)

智能門鎖為案例:

exportdefault{
data:{
isPowerOn:false,//屬性001
isWifi:true,//屬性002
},
onInit(){
setTimeout(()=>{
setInterval(()=>this.GetKey(),500)//事件
},6000);
},
clickPower(){
this.isPowerOn=!this.isPowerOn
if(this.isPowerOn){
this.SetKey('key_f1','on');//狀態001
}else{
this.SetKey('key_f1','off');//狀態002
}
}

上面代碼為事件設置,以智能門鎖為例?;蛘呤怯昧硪环N方法:把 Fa 文檔中和產品對口的 smart 源碼拷貝到 team_X 中。

華為云注冊軟件產品

軟件與嵌入式設備連接原理:

f32f83e4-d6a4-11ed-bfe3-dac502259ad0.png

根據華為云要求注冊嵌入式設備與軟件,即可云端提供服務:

f347d08e-d6a4-11ed-bfe3-dac502259ad0.jpg

上圖表面設備已經在線

服務卡片開發

①用戶操作界面

通過桌面可以在卡片中點擊相關服務,卡片中可以呈現一個或多個服務。

②卡片工作原理

通過嵌入到 UI 界面拉起那款應用的服務(可以通過緩存實現快速打開)從而起到交互功能的原子化服務。

f35250cc-d6a4-11ed-bfe3-dac502259ad0.png

③生命周期管理

對設備使用方的 RPC 對象進行管理,請求進行校驗以及對更新后的進行回調處理。

④卡片尺寸支持

目前官方有四種尺寸,可以在 new 中自己選中喜歡的尺寸。

f365e3da-d6a4-11ed-bfe3-dac502259ad0.png

這里以經典開發的音樂卡片舉例:

f388fffa-d6a4-11ed-bfe3-dac502259ad0.png

創建一個卡片(這里大小是固定的),然后點擊 finish:

f3b6cff2-d6a4-11ed-bfe3-dac502259ad0.png 然后就可以看到在原有的 subject 中生成了 config.json 文件。由上圖可得 js 默認配置了卡片大小等信息,froms 下的是 ability 中生命周期管理的核心部分(用于回調),會在主函數中實現調用。

有是自動生成的,要在這里把 false 改成 true。

f3fe4742-d6a4-11ed-bfe3-dac502259ad0.png

上圖為 index 下的文件包,可以看到開發者要用的 index 下的三個文件包,在構建好后需要點擊 Deveco Studo 左下角后再點擊 OhosBuild Varinants 對文件包進行簽名。

f447b292-d6a4-11ed-bfe3-dac502259ad0.png

完成簽名之后在在線調試的實驗機器上運行后就會產生一張純的 FA 卡片了,此時環境已經搭建完畢。

f454a092-d6a4-11ed-bfe3-dac502259ad0.png

在卡片制作中可以自定義卡片上音樂播放的圖片等,從 media 直接寫到 hml 中即可。 音樂本地調?。簊rc 在 main 下的 resources 中建 rawfile 用于存放音頻,在編譯時候打包進 hap 中寫到鴻蒙設備中即可 get 到。 下面以開發 1*2 的 mini 卡片為例,在本地預置了音頻文件后我們目光轉向卡片,繼續把播放按鈕與卡片解耦開,通過 hml 塞入顯示信息等。 isWidget 當 true 時,card_containerdiv 就會變為 div 布局。Ispause 為 true 時,按鈕呈現播放;為 false 時,顯示暫停按鈕。 在 css 文件采用原子布局的 display-index。display-index 的值越大,則越優先顯示。 在 main 中的 onCreateForm 里 isMiniWidget 的 data 設置為 true。 在.json 和 main 中相對應的地方添加點擊事件,到此為止就可以通過點擊卡片就可以得到播放與暫停的互動了。 做完顯示界面以后,接入界面與預先本地的音頻,然后封裝音樂播放即可。

下面是生命周期的部分布置和實現:

f465b724-d6a4-11ed-bfe3-dac502259ad0.png

更新(onUpdateForm),卡片更新與持久化儲存卡片,定時更新與請求更新時進行調用。

f48fb0a6-d6a4-11ed-bfe3-dac502259ad0.png

刪除(onDeleteForm),用于刪除卡片時調用。

f4b2b89e-d6a4-11ed-bfe3-dac502259ad0.png 事件消息(message),formid&massage,接收通知。 一張 Fa 卡片創建時需要滿足的基本功能:布局加載–請求數據(ohos&intent)–產生卡片(long&生成 ID 用于調用){通過枚舉值得到}。按照以上步驟一個音樂服務卡片就完成了。 ?

簽名與編譯

f4dddc7c-d6a4-11ed-bfe3-dac502259ad0.png

最后開發完在開發完成之后我們要對文件進行簽名即可:

Alias:密鑰的名稱信息,用于簽名的配置。

Password:密鑰的密碼(系統自動填入)

Certificate:證書的具體信息、名稱、組織與國家代碼等等

f4dddc7c-d6a4-11ed-bfe3-dac502259ad0.png

上圖為新建簽名密鑰 我們點擊 new 然后新建密鑰包,并且輸入密碼等信息進行生成。 注意:這里的密碼必須由大小寫和數字與符號組成以保證安全性。

另外一種簽名方式:

f52c021c-d6a4-11ed-bfe3-dac502259ad0.png

應用調試助手:通過華為應用市場下載應用調試助手,點擊并申請 Product ID 并選擇。

再根據 APPGallery Connect 的指示完成頁面填寫后手機貼近 NFC 擴展板或 NFC 射頻貼紙點擊<置入緩存區即可>。

f53c29d0-d6a4-11ed-bfe3-dac502259ad0.png

上圖要注意申請 Product ID 開發完成之后點擊選中華為實驗室遠程真機可以在線調試進行軟件開發實驗,如需手機實驗請點擊手機版本號七次進入開發者模式(會有您正處于開發者模式的提醒)。 然后我們找到設置的系統與更新的開發者人員調試選項打開 USB 調試即可,當手機與電腦通過數據線連接時會出現彈窗,選擇連接方式為傳輸文件。 以上就是基礎 HarmonyOS 的基礎教程內容,感謝各位的支持。

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 華為
    +關注

    關注

    215

    文章

    33717

    瀏覽量

    247335
  • ui
    ui
    +關注

    關注

    0

    文章

    200

    瀏覽量

    21218
  • 鴻蒙
    +關注

    關注

    55

    文章

    1760

    瀏覽量

    42153
  • HarmonyOS
    +關注

    關注

    79

    文章

    1876

    瀏覽量

    29330
  • OpenHarmony
    +關注

    關注

    23

    文章

    3375

    瀏覽量

    15192

原文標題:OpenHarmony上開發“服務卡片”

文章出處:【微信號:gh_834c4b3d87fe,微信公眾號:OpenHarmony技術社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    鴻蒙OS開發實例:【手擼服務卡片

    服務卡片指導文檔位于“**開發/應用模型/Stage模型開發指導/Stage模型應用組件**”路徑下,說明其極其重要。本篇文章將分享實現服務
    的頭像 發表于 03-28 22:11 ?748次閱讀
    鴻蒙OS<b class='flag-5'>開發</b>實例:【手擼<b class='flag-5'>服務</b><b class='flag-5'>卡片</b>】

    OpenHarmony開發案例:【計步器卡片

    基于Stage模型實現帶有卡片的計步應用,用于介紹卡片開發及生命周期實現。
    的頭像 發表于 04-15 09:22 ?414次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發</b>案例:【計步器<b class='flag-5'>卡片</b>】

    OpenHarmony開發案例:【電影卡片

    基于元服務卡片的能力,實現帶有卡片的電影應用,介紹卡片開發過程和生命周期實現。
    的頭像 發表于 04-15 17:53 ?981次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發</b>案例:【電影<b class='flag-5'>卡片</b>】

    HarmonyOS服務卡片快速開發

    HarmonyOS服務卡片快速開發
    發表于 06-19 13:52

    一文看懂HarmonyOS服務卡片運行原理和開發方法

    “Basic”和“Advance”兩類,開發者可以根據業務需要選擇不同的模板。圖29 DevEco Studio中的服務卡片模板圖Grid Pattern(宮格卡片模板)宮格
    發表于 07-27 17:21

    完整服務卡片項目開發,為Bilibili添加服務卡片

    已經被鴻蒙刷屏了。從安卓到鴻蒙,最直觀的變化應該就是服務卡片了。我也是在學習鴻蒙的同時,實際體驗一下服務卡片開發。給大家看看最終的效果。接
    發表于 09-03 20:49

    HarmonyOS原子化服務卡片開發-主要過程梳理

    方式,定時更新、手動更新。服務內容頁面的數據如何進行更新。6.功能實現包括頁面加載、卡片編輯、跳轉事件、消息通知、下滑事件、留言評論、分布式體驗、流轉、分享等。7.數據庫的保存與讀取管理后臺的開發,連接數據庫,使用第三方組件等。
    發表于 09-08 13:40

    HarmonyOS卡片開發--服務卡片概述

    。 卡片提供方包含以下模塊:卡片服務:由卡片提供方開發者實現,開發者實現onCreateForm
    發表于 09-22 14:10

    HarmonyOS與OpenHarmony應用開發差異

    OpenHarmony相比HarmonyOS不支持的功能說明特性名稱HarmonyOS版本OpenHarmony版本創建Module√X服務卡片√X自動化簽名√X遠程模擬器√X本地模擬
    發表于 10-22 10:35

    HarmonyOS之服務卡片(Java)開發步驟

    服務卡片的組件單獨添加點擊事件(Java)Java卡片通過componentProvider.setIntentAgent方法設置點擊事件。封裝IntentAgentInfo時,第一個參數“200
    發表于 07-26 16:17

    HarmonyOS/OpenHarmony應用開發-FA卡片開發體驗

    在宿主中展示的位置。卡片管理服務: 用于管理系統中所添加卡片的常駐代理服務,包括卡片對象的管理與使用,以及
    發表于 12-06 14:48

    HarmonyOS/OpenHarmony服務開發-配置卡片的配置文件

    ;supportDimensions\": [ \"2*2\" ] } ] } *附件:HarmonyOSOpenHarmony服務開發-配置卡片的配置文件.docx
    發表于 08-01 11:45

    B站添加鴻蒙服務卡片教程

    ???????? 6 月 2 日鴻蒙發布,今年的六月已經被鴻蒙刷屏了。從安卓到鴻蒙,最直觀的變化應該就是服務卡片了。我也是在學習鴻蒙的同時,實際體驗一下服務卡片
    的頭像 發表于 08-12 10:07 ?2401次閱讀
    B站添加鴻蒙<b class='flag-5'>服務</b><b class='flag-5'>卡片</b>教程

    用Java開發HarmonyOS服務卡片

    卡片服務:由卡片提供方開發者實現,開發者實現 onCreateForm、onUpdateForm 和 onDeleteForm 處理創建
    的頭像 發表于 04-26 11:04 ?1271次閱讀

    OpenHarmony上使用服務卡片

    服務卡片是一種界面展示形式,將服務的重要信息以卡片的形式展示給用戶,用戶可通過輕量交互行為實現服務直達、減少層級跳轉的目的。
    的頭像 發表于 06-25 15:12 ?353次閱讀
    <b class='flag-5'>OpenHarmony</b>上使用<b class='flag-5'>服務</b><b class='flag-5'>卡片</b>
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>