百年獻(xiàn)禮開發(fā)一款黨史學(xué)習(xí)服務(wù)卡片
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
??https://harmonyos.51cto.com??
開發(fā)背景
隨著HarmonyOS 2發(fā)布,服務(wù)卡片這一功能也走進(jìn)了人們的視線。它以其直觀可視的展現(xiàn)形式,流暢的運(yùn)行速度,刷新了人們對以往APP的認(rèn)識(shí)。正值百年華誕,我們在學(xué)習(xí)時(shí)的時(shí)候,利用服務(wù)卡片功能,開發(fā)出可以快速學(xué)習(xí)的這款卡片,并取名為“薪火”。
效果展示
一、創(chuàng)建“薪火”app工程
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)建一個(gè)Empty Java Phone應(yīng)用
點(diǎn)擊Next
點(diǎn)擊Finish完成創(chuàng)建薪火app工程
3、薪火app頁面布局
首先完成薪火app頁面的布局,代碼:
二、薪火app卡片實(shí)現(xiàn)
第一步:卡片生成
鼠標(biāo)放在項(xiàng)目的包路徑上,然后右擊,點(diǎn)擊“Service Widget”,然后就可以創(chuàng)建服務(wù)卡片。
選擇“Basic”高級模式,然后再Template中選擇 “Grid Pattern”模板,然后點(diǎn)擊Next。
然后給服務(wù)卡片起名字,這里要就寫個(gè)“FireWoodCard”,選擇生成卡片的樣式,分別為2X2、2X4、4X4規(guī)格,然后點(diǎn)擊“Finish”完成創(chuàng)建。
然后會(huì)生成相關(guān)的模板代碼,代碼的框架:
然后對FireWoodCardAbility.java 和form_grid_pattern_firewoodcard_*.xml布局文件修改,并新增準(zhǔn)備好的資源文件。
第二步:卡片布局的修改
我們制作了一個(gè)2X2、2X4和4X4的卡片,布局效果:
2X2卡片布局:
2X4卡片布局:
4X4卡片布局:
第三步:卡片信息創(chuàng)建、更新、刪除
對卡片進(jìn)行操作時(shí),需要將創(chuàng)建的卡片信息持久化,以便在下次獲取/更新該卡片實(shí)例時(shí)進(jìn)行使用。我們采用對象關(guān)系型數(shù)據(jù)庫來存儲(chǔ)卡片信息,主要是在卡片創(chuàng)建的回調(diào)函數(shù)onCreateForm和卡片銷毀的回調(diào)函數(shù)onDeleteForm中存儲(chǔ)和刪除卡片信息。卡片需要存儲(chǔ)的信息包括:卡片ID、卡片名稱、卡片大小(2X2還是4X4等),代碼如下所示。
1、存儲(chǔ)卡片信息:
2、更新卡片信息:
3、刪除卡片信息:
卡片創(chuàng)建完成,
第四步、卡片在桌面的創(chuàng)建方式
在手機(jī)桌面上卡片的創(chuàng)建方式分為:設(shè)為上滑卡片或添加到桌面。
1、設(shè)為上滑卡片的效果:
注:當(dāng)手動(dòng)在桌面上上滑時(shí),卡片會(huì)自動(dòng)撤銷。
2、添加到桌面的效果:
注:當(dāng)手動(dòng)長按卡片可以進(jìn)行移除卡片和添加其他規(guī)格的卡片。
第五步:卡片的點(diǎn)擊跳轉(zhuǎn)
卡片默認(rèn)跳轉(zhuǎn)到薪火app主頁,可以查看到當(dāng)前app上的熱搜新聞,點(diǎn)擊新聞會(huì)自動(dòng)跳轉(zhuǎn)到對應(yīng)新聞的詳細(xì)內(nèi)容頁面。
1、卡片頁面:
2、新聞詳情頁面:
新聞頁面跳轉(zhuǎn)功能的重點(diǎn)代碼:
通過案例充分說明了卡片的獨(dú)特優(yōu)點(diǎn):能夠?qū)A的重要信息或操作前置到卡片,以達(dá)到服務(wù)直達(dá),減少體驗(yàn)層級目的。
總結(jié)和回顧
本文通過“薪火+薪火”服務(wù)卡片,手把手的教會(huì)大家如何實(shí)現(xiàn)一個(gè)HarmonyOS Java卡片,你將學(xué)會(huì)以下知識(shí)點(diǎn):
1)如何使用模板創(chuàng)建卡片
2)卡片的布局
3)卡片信息創(chuàng)建、更新和刪除過程
4)卡片的點(diǎn)擊跳轉(zhuǎn)事件
除此以外,你還會(huì)學(xué)到:
1)如何使用webview控件進(jìn)行網(wǎng)絡(luò)請求獲取數(shù)據(jù)
2)如何使用ListContainer做一個(gè)列表
3)如何使用偏好型數(shù)據(jù)庫,緩存網(wǎng)絡(luò)數(shù)據(jù)
4)如果使用對象關(guān)系型數(shù)據(jù)庫,緩存卡片信息
??51CTO和華為官方合作共建的鴻蒙技術(shù)社區(qū)??
??https://harmonyos.51cto.com??