当前位置:   article > 正文

Harmony OS4开发入门

Harmony OS4开发入门

Arkts开发成本过高,期待uniapp尽快适配鸿蒙

举个例子:互联网公司不差钱的没问题忽略;中小公司本来1-2个人用uniapp就可以做的,为了单独做鸿蒙还需要再投入一个人或者不投入人就延长项目时间,这对中小公司成本过高。

iOS和Android的原生开发需要投入两个人,uniapp或flutter一个人就可以搞定3个端:iOS、Android、H5、微信小程序等

代码地址:

https://gitee.com/BruceLeeAdmin/harmonyos/tree/master

项目目录介绍

ArkTS介绍

简单案例

  1. @State times: number = 0
  2. /*
  3. 数据类型:
  4. string
  5. number
  6. any: 不确定类型,可以是任意类型
  7. */
  8. @State msg: string = "hello"
  9. @State a: any = "hello"
  10. build() {
  11. Row() {
  12. Column() {
  13. Button(`点我${this.times}次`).backgroundColor("#360").onClick(() => {
  14. this.times++
  15. }).width('100%')
  16. Text(this.msg)
  17. .fontSize(50)
  18. .fontColor('#360')
  19. .fontFamily("华文行楷")
  20. .fontWeight(FontWeight.Bold)
  21. .onClick(() => {
  22. // 处理事件
  23. this.msg = '改变了'
  24. })
  25. Image($r('app.media.mate60')).width(250)
  26. }.width('100%')
  27. }
  28. .justifyContent(FlexAlign.Center)
  29. .height('100%')
  30. }

运行示例

DevEco Studio查看文档

小案例布局一:实现简单布局

在代码中有详细的注释说明

小案例布局二:实现列表功能

封装自定义组件

使用方法

  1. // 引用自定义组件
  2. import {
  3. Header
  4. } from '../components/Header'
  5. 使用这个组件
  6. // 标题部分
  7. Header({
  8. title: $r('app.string.product_list')
  9. }).margin({bottom: 20})

自定义构建函数

  1. // 全局自定义构建函数
  2. @Builder function ItemCard(item: Item) {
  3. Row({ space: 10 }) {
  4. Image(item.image)
  5. .width(100)
  6. Column({ space: 4 }) {
  7. if (item.discount) {
  8. Text(item.name)
  9. .fontSize(16)
  10. .fontWeight(FontWeight.Bold)
  11. Text('原价 ¥ ' + item.price)
  12. .fontColor('#CCC')
  13. .fontSize(12)
  14. .decoration({ // 装饰
  15. type: TextDecorationType.LineThrough
  16. })
  17. Text('折扣价 ¥ ' + (item.price - item.discount))
  18. .fontColor('#F36')
  19. .fontSize(18)
  20. Text('补贴 ¥ ' + item.discount)
  21. .fontColor('#F36')
  22. .fontSize(18)
  23. } else {
  24. Text(item.name)
  25. .fontSize(16)
  26. .fontWeight(FontWeight.Bold)
  27. Text('¥ ' + item.price)
  28. .fontColor('#F36')
  29. .fontSize(14)
  30. }
  31. }
  32. .height('100%')
  33. .alignItems(HorizontalAlign.Start)
  34. }
  35. .width('100%')
  36. .backgroundColor('#FFF')
  37. .borderRadius(20)
  38. .height(120)
  39. .padding(10)
  40. }

使用自定义构建函数

  1. build() {
  2. Column({ space: 8 }) {
  3. // 标题部分
  4. Header({
  5. title: $r('app.string.product_list')
  6. }).margin({bottom: 20})
  7. List({ space: 8 }) {
  8. // 循环遍历商品列表
  9. ForEach(this.items, (item, Item) => {
  10. ListItem() {
  11. // 使用封装自定义构建函数
  12. ItemCard(item)
  13. }
  14. })
  15. }.width('100%').height(30).layoutWeight(1)
  16. }.width('100%').height('100%').backgroundColor('#EFEFEF').padding(20)
  17. }

小案例布局三:任务统计案例

小案例四:页面路由跳转

Dev Studio内置的API文档

应用配置文件

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/293911
推荐阅读
相关标签
  

闽ICP备14008679号