想了解更多关于开源的内容,请访问:
开源基础软件社区
https://ost.
前言
本篇帖子是参考Codelab基于Stage模型JS服务卡片,使用最新ArkTS元服务开发的,实现带有卡片的计步应用,用于介绍卡片的开发及生命周期实现。需要完成以下功能:
- 消息通知栏,通知用户今天所行走步数(行走步数是模拟的)。元服务卡片,在桌面上添加2×2或2×4规格元服务卡片,能看到步数变化,也能看到当天所行走的进度。关系型数据库,用于查询,添加用户行走的数据。
知识点
消息通知:提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知通道,订阅、取消订阅通知,获取通知的使能状态、角标使能状态,获取通知的相关信息等。关系型数据库:关系型数据库基于SQLite组件提供了一套完整的对本地数据库进行管理的机制,对外提供了一系列的增、删、改、查等接口,也可以直接运行用户输入的SQL语句来满足复杂的场景需要。元服务卡片开发:卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达、减少体验层级的目的。卡片提供方:显示卡片内容,控制卡片布局以及控件点击事件。卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。软件要求DevEco Studio版本:DevEco Studio 3.1 Release及以上版本。HarmonyOS SDK版本:API version 9及以上版本。硬件要求设备类型:华为手机3.1系统或运行在DevEco Studio上的远程模拟器API9。HarmonyOS系统:3.1.0 DeveloperRelease及以上版本。讲解
卡片更新逻辑和Codelabs是一样的,详情可以移步到Stage模型卡片(ArkTS)细看, 这里主要讲解一下ArKTS开发服务卡片,Codelabs开发的是JS服务卡片,还有在把这个JS卡片改为用ArkTS过程中,需要注意的地方:
使用关系型数据库时,Codelabs与使用最新版本API不同之处:
Codelabs源码:
await DataRdb.getRdbStore(context, CommonConstants.RDB_STORE_CONFIG) .then((rdbStore: DataRdb.RdbStore) => {
本项目源码:
await DataRdb.getRdbStore(context, CommonConstants.RDB_STORE_CONFIG) .then((rdbStore) => {
使用Chart组件和Polyline组件:在JS服务卡片可以使用Chart组件来生成曲线图表:
<chart type="line">想了解更多关于开源的内容,请访问:开源基础软件社区
https://ost.