当前位置: 首页 > news >正文

小白挑战一周上架元服务——元服务开发06

文章目录

  • 前言
  • 一、元服务开发中用到的知识
    • 1.跳转页面并传参数
    • 2.展示日期组件
    • 3.使用系统Toast组件
  • 二、元服开发中遇到的问题
    • 1.元服务中本地化数据,不支持数据库存储。本来打算用数据库进行存数据,后面增、删、改、查方便一些。发现竟然容不了。存储用的是@ohos.data.preferences (用户首选项)
    • 三.小小展示一下
  • 参考


前言

这两天没有怎么更新文章,家里有点事情给耽误了近1天的时间,剩下的时间,我在进行元服务的开发中了,基本上已经开发结束了。又是一个里程碑式的进展。奥利给~

主要讲一下开发元服务中使用的知识和遇到的问题。


一、元服务开发中用到的知识

1.跳转页面并传参数

  • A页面跳转到B页面,在A页面使用pushUrl写上要跳转的语法。
    this.getUIContext().getRouter().pushUrl({url: 'pages/BPage',params:{type:type.toString()}})
  • 接收页面B,通过路由栈获取参数。在aboutToAppear页面即将出现时,获取数据。
/// 定义接收参数的格式
interface ParamsType {type: string;
}@Entry
@Component
export struct AddPage {// 接收路由参数@State params: ParamsType = { type: '0' };aboutToAppear(): void {// 通过路由栈获取参数this.params = this.getUIContext().getRouter().getParams() as ParamsType;this.message = this.params.type;}...

2.展示日期组件

  /// 显示日历组件private showActionSheet() {this.getUIContext().showDatePickerDialog( {lunar:false,selected: new Date(),lunarSwitch: false,showTime: false,shadow: {radius: 10,offsetX: 20,offsetY: 20,color: "#66333333"},onDateChange:(date)=>{// 使用状态组件接收Date数据,改变时更新Text数据。this.curPikerDate = date;},onAccept: (date) => {// 如果不选默认显示当天this.expiryDate = this.curPikerDate ?? new Date();}})}

3.使用系统Toast组件

  /// 显示系统ToastshowToast(message:string,failTip ?: String){let promptAction: PromptAction = this.getUIContext().getPromptAction();try {promptAction.showToast({message: message,duration: 2000});} catch (error) {let code = -1;console.error(`showToast args error code is ${code}, message is ${failTip ?? message}`);};}

Toast展示如下图。


二、元服开发中遇到的问题

1.元服务中本地化数据,不支持数据库存储。本来打算用数据库进行存数据,后面增、删、改、查方便一些。发现竟然容不了。存储用的是@ohos.data.preferences (用户首选项)

三.小小展示一下

因为还没上架,可能还有小优化一下,我这里只展示一下首页吧!


参考

  • 文档——元服务开发
http://www.xdnf.cn/news/1310725.html

相关文章:

  • 肖臻《区块链技术与应用》第20-22讲 - 以太坊难度调整、权益证明和智能合约
  • 415. 字符串相加
  • Java设计模式之《工厂模式》
  • 【Java web】HTTP 协议详解
  • HTTP 1.0, 2.0 和 3.0 有什么区别?
  • OpenAI TTS API + Web 前端 AudioContext 实战方案
  • (论文速读)ViDAR:视觉自动驾驶预训练框架
  • leetcode-139. 单词拆分-C
  • 中本聪思想与Web3的困境:从理论到现实的跨越
  • 从依赖到自研:一个客服系统NLP能力的跃迁之路
  • 昇腾AI自学Day2-- 深度学习基础工具与数学
  • Spring AI 进阶之路01:三步将 AI 整合进 Spring Boot
  • 异构数据库兼容力测评:KingbaseES 与 MySQL 的语法・功能・性能全场景验证解析
  • linux设备驱动之字符设备驱动
  • Python代码规范与静态检查(ruff/black/mypy + pyproject.toml + Makefile)自动化工具链介绍
  • 【LeetCode 热题 100】70. 爬楼梯——(解法二)自底向上
  • 在鸿蒙应用中快速接入地图功能:从配置到实战案例全解析
  • ISO27001 高阶架构 之 支持 -2
  • PHP域名授权系统网站源码/授权管理工单系统/精美UI/附教程
  • 广东省省考备考(第七十八天8.16)——资料分析、判断推理(强化训练)
  • Spring AMQP如何通过配置文件避免硬编码实现解耦
  • Linux -- 文件【下】
  • 深度解析和鲸社区热门项目:电商双 11 美妆数据分析的细节与价值
  • 41 C++ STL模板库10-容器3-list
  • 正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
  • docker-compose-mysql-定时备份数据库到其他服务器脚本
  • 【机器学习深度学习】OpenCompass:支持的开源评估数据集及使用差异
  • RemoteCtrl-初步的网络编程框架搭建
  • 安全审计-firewall防火墙
  • 算法训练营day52 图论③ 101.孤岛的总面积、102.沉没孤岛、103.水流问题、104.建造最大岛屿