基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)

这篇具有很好参考价值的文章主要介绍了基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

最近基于Harmony OS最新版本开发了一个作品,本文来详细讲解一下,如何我是如何开发这个作品的。以及如何使用OpenHarmony,基于ArkTS,API 9来开发一个属于自己的元服务。
废话不多说,我的作品名称叫做Company Operate 公司运营,是一个根据会计公式来预测公司未来几个月的资产运营情况。
主要分为三部分,
第一部分:填写公司基本情况表单
第二部分:通过公司计算公司未来几个月的运营情况,使用扇形图,标识公司资金组成部分。
第三部分:使用元服务卡片来显示当前月份的公司资金状况。

具体动态效果图如下:
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

卡片展示效果
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

使用到的组件有:GaugeForEachTextInputRadioFlexTextRowColumnButton
下面开始讲解开发过程。

开发过程

由于我们要开发的应用是云服务,所有在IDE中创建项目时是按照下图来选择的:
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

参数解释

  • Compile SDK: 3.1.0 (API 9) 目前最新版本,具有很有优秀的特性
  • Model: Stage 目前有两种模式,Stage是持续迭代稳定的版本
  • Enable Super Visual : disable。是否开始低代码编辑模式
  • Language: ArkTS 当使用最新版本的时的SDK时,只能选择ArkTS开发语言
  • Compatible SDK: 3.1.0(API 9) 兼容SDK版本
  • Devuce type: Phone Tablet 需要支持的设备,手机和平板
    创建项目后,IDE会自动将我们的项目依赖包拉取到本地。

注意在IDE里讲相关版本的SDK及套件下载到本地
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统
打开 首页文件, 打开右侧的 预览。
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统
这样就可以开始愉快地编写了。
这里的预览具有热更新的功能,修改页面后会自动更新页面。

表单设计

由于我们不考虑国家化,所以直接使用表单直接使用中文,
像素单位使用虚拟像素,
虚拟像素(virtual pixel)是一台设备针对应用而言所具有的虚拟尺寸(区别于屏幕硬件本身的像素单位)。它提供了一种灵活的方式来适应不同屏幕密度的显示效果。使用虚拟像素,使元素在不同密度的设备上具有一致的视觉体量。

每行40vp,表单项的lable长度为80vp,输入框为220vp。
每行间隔12vp,这项常量组成了我们表单的盒子模型。
定义表单的数据模型

@State formData: any = {
  name: '111',
  currentAssets: null,
  nonCurrentAssets: null,
  equityAccount: null,
  currency: null,
  unitPrice: null,
  variableCosts: null,
  quantity: null,
  fixedCost: null,
  month: 6
}

数据模型与输入框绑定起来

TextInput().width(220).height(ROW_HEIGHT).onChange((value: string) => {
  this.formData.name = value
})

与Counter组件绑定

Counter() { Text(this.formData.month.toString()) }
	.onInc(() => {
	  this.formData.month++
	})
	.onDec(() => {
	  this.formData.month--
	})

首页的效果图
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统
不同于网页的Vue应用开发,数据模型与视图并不是双向绑定关系,开发者需要监听每个输入框,单选按钮的修改事件。修改事件的回调函数里给数据模型重新赋值。

组件公共属性,事件介绍,盒子模型

基于ArkTS的组件,都有通用的一些属性,如:width,height,padding,margin。这些通用通用属性就组成了盒子模型 布局的基础。 组件完整的通用属性可以查阅此链接

除了通用属性,所有的组件也有通用事件 如onClick,onTouch,onKeyEvent,onDragStart。
完整通用事件可以查阅此处

结果页

在首页输入公司的运营数据后,点击开始预测,就会进入结果页。从首页跳转到结果页时,会将所有的表单数据传递过去。

router.pushUrl({url:'pages/res', params: {...this.formData}})

在结果页,在onPageShow生命周期中获取从路由传递过的参数

onPageShow() {
  const params = router.getParams(); // 获取传递过来的参数对象
  this.formData = params as any // 赋值给数据模型
  console.log(JSON.stringify(this.formData), '1111')
}

通过计算传过来的值,我们能够得到一系列公司运营的数据。
并最终使用Text组件将其显示到页面上。
值的注意的是
Gauge组件和ForEach的使用。

Gauge组件的使用

Gauge({ value: 75 })
    .value(25)
    .width(100).height(100)
    .colors([[0x317AF7, 1], [0x5BA854, 1], [0xE08C3A, 1]])

colors 属性中填写所要显示的元素,元素的颜色值和0-1的比例。

ForEach 的使用

ForEach(
  arr: any[], 
  itemGenerator: (item: any, index?: number) => void,
  keyGenerator?: (item: any, index?: number) => string 
)
  • ForEach必须在容器组件内使用。
  • 生成的子组件应当是允许包含在ForEach父容器组件中的子组件。
  • 允许子组件生成器函数中包含if/else条件渲染,同时也允许ForEach包含在if/else条件渲染语句中。
  • itemGenerator函数的调用顺序不一定和数组中的数据项相同,在开发过程中不要假设
  • itemGenerator和keyGenerator函数是否执行及其执行顺序。例如,以下示例可能无法正确运行:

最终效果图
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

遇到的问题

预览无法出现滚动条,没有下来

预览模式下,当内容超过一屏时,无法自动出现滚动条,不知道这是一个特性,还是bug。还是说需要特殊处理才能出现滚动条,比如使用滚动条组件。

缺少折线图

本来我想使用折线图来表现公司资产运营资产趋势,这也是普遍的做法。但是试了很多方法,都不太理想,使用canvas画折线图。缺少交互,标注,或者坐标轴的分割块显示不准确。总之,目前要想使用折线图,是需要一些技术的。或许也可以尝试从svg下手,尝试。

支持 API 9的设备太少

由于本应用使用的是最新版的API 9,要想使用真机模拟。结果 远程设备只有一个支持API 9,并且状态一直是 unavailable, 不可用状态。汗那,总不能为了开发一个应用,买一个Mate 50把。
基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9),前端开发,harmonyos,华为,鸿蒙系统

总结

总的来讲,在开发云服务应用时,鸿蒙提供的文档还是很全的的,但是由于相对其他的成熟web技术,还是比较新的,所以生态还不算很完善。这也是可以理解的,生态还是要靠全体开发者来支持。文章来源地址https://www.toymoban.com/news/detail-789624.html

到了这里,关于基于鸿蒙HarmonyOS 元服务开发一款公司运营应用(ArkTS API 9)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 鸿蒙(HarmonyOS)应用开发指南

    鸿蒙(HarmonyOS)应用开发指南

    1.1 简介 鸿蒙 (即 HarmonyOS ,开发代号 Ark ,正式名称为华为终端鸿蒙智能设备操作系统软件)是华为公司自 2012 年以来开发的一款可支持鸿蒙原生应用和兼容 AOSP 应用的 分布式操作系统 。该系统利用“分布式”技术将 手机、电脑、平板、电视、汽车和智能穿戴 等多款设备

    2024年02月02日
    浏览(36)
  • HarmonyOS 鸿蒙应用开发(十一、面向鸿蒙开发的JavaScript基础)

    HarmonyOS 鸿蒙应用开发(十一、面向鸿蒙开发的JavaScript基础)

    ArkTS 是HarmonyOS(鸿蒙操作系统)原生应用开发的首选语言。它是用于构建用户界面的一种TypeScript方言,扩展了TypeScript以适应HarmonyOS生态系统的UI开发需求。ArkTS 融合了TypeScript的静态类型系统和现代UI框架的设计理念,为开发者提供了一种更安全高效的方式来编写HarmonyOS应用。

    2024年02月20日
    浏览(10)
  • 【HarmonyOS】开发一个可以看小姐姐的鸿蒙应用 鸿蒙开发入门

    【HarmonyOS】开发一个可以看小姐姐的鸿蒙应用 鸿蒙开发入门

    先整张效果图,丑点是丑点,但可以用,买不起鸿蒙系统手机的我,只配用虚拟机。 要说目前最火的手机操作系统,要我来看的话那必然是鸿蒙无疑。16号刚刚结束了第五次鸿蒙内测,在看到这次的内测名单之后,居然有970的机器,这是不是说明俺这手里奋战了三年的荣耀

    2024年02月15日
    浏览(15)
  • 鸿蒙应用开发尝鲜:初识HarmonyOS

    鸿蒙应用开发尝鲜:初识HarmonyOS

    来源:华为官方网站 : https://developer.huawei.com/ 相信大家对鸿蒙应用开发也不在陌生,很多身处互联网行业或者不了解的人们现在也一定都听说过华为鸿蒙.这里我将不再说废话,直接步入正题 HarmonyOS应用开发采用的是ArkTS语言,ArkTS是在TypeScript(简称TS)基础上的拓展,而TS又是JavaScrip

    2024年02月02日
    浏览(16)
  • 鸿蒙HarmonyOS应用开发初体验

    鸿蒙HarmonyOS应用开发初体验

    最近华为发布mt60新机火了,作为一名移动开发程序员,对鸿蒙系统开发移动端就很感兴趣了。 开发工具:HUAWEI DevEco Studio和SDK下载和升级 | HarmonyOS开发者 下载完后按默认安装就可以了,界面跟AS很类似,之前我jdk环境配置就不在配置了,不懂的可以百度下很多教程。 这是基

    2024年02月09日
    浏览(14)
  • 【鸿蒙开发】HarmonyOS应用开发者基础认证题库

    【鸿蒙开发】HarmonyOS应用开发者基础认证题库

    华为开发者学堂   1、考试需实名认证,请在考前于个人主页→个人信息→基本信息→进行实名认证,否则考试通过无法获取专业证书; 2、每个帐号每月有3次考试机会,次月重置考试次数。做题过程中请认真对待,避免考试次数浪费; 3、考试时长为1小时,请合理分配做题

    2024年03月09日
    浏览(46)
  • 【HarmonyOS】鸿蒙应用开发基础认证题目

    【HarmonyOS】鸿蒙应用开发基础认证题目

    【HarmonyOS】鸿蒙应用开发基础认证题目; 随着鸿蒙系统的不断发展,前不久,华为宣布了重磅消息,HarmonyOS next 开发者版本会在明年(2024)开放,并不再支持Android应用!这也意味着,移动端开发者今后又多了一个适配平台,也到了必须学的时候了。 目前已知一线大厂均已开

    2024年02月04日
    浏览(45)
  • 鸿蒙(HarmonyOS)应用开发——构建页面(题目答案)

    1.在Column容器中的子组件默认是按照从上到下的垂直方向布局的,其主轴的方向是垂直方向,在Row容器中的组件默认是按照从左到右的水平方向布局的,其主轴的方向是水平方向。 正确(True) 2.List容器可以沿水平方向排列,也可以沿垂直方向排列。 正确(True) 3.当Tabs组件的参数

    2024年01月20日
    浏览(19)
  • 鸿蒙HarmonyOS4.0开发应用学习笔记

    鸿蒙HarmonyOS4.0开发应用学习笔记

    鸿蒙harmony开发文档指南 DevEco Studio下载地址 选择或者安装环境 选择和下载SDK 安装总览 编辑器界面 2.1变量声明 2.2条件控制 2.3循环迭代 2.4函数 2.5类和接口 2.6模块开发 通用功能抽取到单独的ts文件,每个文件都是一个模块(module)。 模块可以相互加载,提高代码复用性。 crea

    2024年02月04日
    浏览(18)
  • HarmonyOS鸿蒙原生应用开发设计- 隐私声明

    HarmonyOS鸿蒙原生应用开发设计- 隐私声明

    HarmonyOS设计文档中,为大家提供了独特的隐私声明,开发者可以根据需要直接引用。 开发者直接使用官方提供的隐私声明内容,既可以符合HarmonyOS原生应用的开发上架运营规范,又可以防止使用别人的内容产生的侵权意外情况等,减少自主创作隐私声明的工作量。当然,如果

    2024年02月05日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包