HarmonyOS服務(wù)卡片-防疫一碼通
51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)
開發(fā)背景
“嚴(yán)”字當(dāng)頭共防新冠,面對德爾塔變異毒株的氣勢洶洶,疫情防控不能有一絲松懈。軟通動力全體員工堅決貫徹國家衛(wèi)生健康委對于防疫的要求,做好個人防護(hù);風(fēng)險人群要主動檢測、自覺報告,主動承擔(dān)起疫情防控的社會責(zé)任。
由于軟通動力員工基數(shù)大,在進(jìn)入辦公場所、乘坐接泊車以及乘坐地鐵進(jìn)入商場時掃碼測溫的過程中難免排起長隊,在排隊過程中人員密集,對于疫情防控工作有著極大的不利影響。因此,軟通動力通過使用HarmonyOS原子化卡片服務(wù)原理,將行程碼轉(zhuǎn)化為卡片服務(wù),提高了掃碼效率。
效果展示:




一、創(chuàng)建“一碼通”服務(wù)卡片工程
1、安裝和配置DevEco Studio 2.1 Release
安裝的鏈接:https://developer.harmonyos.com/cn/develop/deveco-studio
IDE的使用指南,很詳細(xì):https://developer.harmonyos.com/cn/docs/documentation/doc-guides/tools_overview-0000001053582387
我的本案例使用的最新的 2.1.0.501版本,SDK:API Version 5
2、創(chuàng)建一個Empty Java Phone應(yīng)用


點擊Next

點擊Finish完成創(chuàng)建一碼通服務(wù)卡片工程
3、一碼通服務(wù)卡片頁面布局
首先完成一碼通服務(wù)卡片頁面的布局,代碼:

二、一碼通服務(wù)卡片卡片實現(xiàn)
第一步:卡片生成
鼠標(biāo)放在項目的包路徑上,然后右擊,點擊“Service Widget”,然后就可以創(chuàng)建服務(wù)卡片。

選擇“Basic”高級模式,然后再Template中選擇 “Grid Pattern”模板,然后點擊Next。

然后給服務(wù)卡片起名字,這里要就寫個“OneCodePass”,選擇生成卡片的樣式,分別為1X2、2X2、2X4規(guī)格,然后點擊“Finish”完成創(chuàng)建。

然后會生成相關(guān)的模板代碼,以下是代碼的框架:


然后對OneCodePassAbility.java 和form_grid_pattern_onecodepass_*.xml布局文件修改,并新增準(zhǔn)備好的資源文件。
第二步:卡片布局的修改
我們制作了一個1X2、2X2和2X4的卡片,布局效果如下所示:
1X2卡片布局:

2X2卡片布局:

2X4卡片布局:

第三步:卡片信息創(chuàng)建、更新、刪除
對卡片進(jìn)行操作時,需要將創(chuàng)建的卡片信息持久化,以便在下次獲取/更新該卡片實例時進(jìn)行使用。我們采用對象關(guān)系型數(shù)據(jù)庫來存儲卡片信息,主要是在卡片創(chuàng)建的回調(diào)函數(shù)onCreateForm和卡片銷毀的回調(diào)函數(shù)onDeleteForm中存儲和刪除卡片信息。卡片需要存儲的信息包括:卡片ID、卡片名稱、卡片大小(2X2還是2X4等),代碼如下所示。
1、存儲卡片信息:

2、更新卡片信息:

3、刪除卡片信息:

卡片創(chuàng)建完成。
第四步、卡片在桌面的創(chuàng)建方式
在手機(jī)桌面上卡片的創(chuàng)建方式分為:設(shè)為上滑卡片或添加到桌面。


第五步:卡片的點擊跳轉(zhuǎn)
卡片默認(rèn)跳轉(zhuǎn)到個人健康碼,可以查看個人的健康碼詳情。
1、1x2卡片:
1.1、卡片:


2、2x2卡片:
2.1、卡片:

2.2、點擊卡片跳轉(zhuǎn)結(jié)果:

3、2x4卡片:
3.1、卡片

3.2、點擊卡片跳轉(zhuǎn)結(jié)果:
3.2.1、點擊通信大數(shù)據(jù)行程卡

3.2.2、點擊個人健康打卡:

3.2.3、點擊個人中心:

3.2.5、點擊常住人注冊:

卡片頁面跳轉(zhuǎn)功能的重點代碼如下:




通過案例充分說明了卡片的獨特優(yōu)點:能夠?qū)A的重要信息或操作前置到卡片,以達(dá)到服務(wù)直達(dá),減少體驗層級目的。
總結(jié)和回顧
本文通過一碼通服務(wù)卡片,手把手的教會大家如何實現(xiàn)一個HarmonyOS Java卡片,你將學(xué)會以下知識點:
1)如何使用模板創(chuàng)建卡片
2)卡片的布局
3)卡片信息創(chuàng)建、更新和刪除過程
4)卡片的點擊跳轉(zhuǎn)事件
除此以外,你還會學(xué)到:
1)如何使用webview控件進(jìn)行網(wǎng)絡(luò)請求獲取數(shù)據(jù)


2)如何使用偏好型數(shù)據(jù)庫,緩存卡片信息
創(chuàng)建服務(wù)卡片:


更新服務(wù)卡片:

刪除服務(wù)卡片:


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