Harmony(qf3-1)

一、概述

低代码开发方式:Enable Super Visual

兼容JS的类Web开发范式

ArkTS声明式开发范式

@Watch

@Watch:对状态变量的监听

@Component
struct Category {
  @Prop @Watch('onTypeChanged') type: number
  build() {
    Column() {}
  }
  onTypeChanged() {
    
  }
}

调试

hilog打印
1.domain:日志对应的领域标识,范围是0x0-0xFFFF
2.tag:指定日志标识,可以为任意字符串
3.format:格式化字符串,用于日志的格式化输出,标识{public}的内容明文输出,标识{private}的内容以<private>过滤回显

import hilog from '@ohos.hilog'

@Entry
@Component
struct TestPage {
  build() {
    Column() {
      Button('click').onClick(() => {
        console.log('my name is %s', 'hi')
        console.log('age is %d', 38)

        console.log('osoLife')
        console.debug('osoLife')
        console.warn('osoLife')
        console.error('osoLife')

        hilog.info(0x0001, 'osoLife0628', 'kobe')
      })
    }
  }
}

硬件调用

1.拍照

import common from '@ohos.app.ability.common'
import wantConstant from '@ohos.ability.wantConstant'

@Entry
@Component
struct TestPage {
  @State uri: string = ''
  private context = getContext(this) as common.UIAbilityContext

  build() {
    Row() {
      Button('拍照').onClick(async () => {
        let wantObj = {
          deviceId: '',
          action: wantConstant.Action.ACTION_IMAGE_CAPTURE
        }
        let data = await this.context.startAbilityForResult(wantObj)
        this.uri = data.want.uri
      })
      Image(this.uri).size({ width: 200 })
    }
  }
}

2.电话服务与网络信息

应用权限列表

import call from '@ohos.telephony.call'

@Entry
@Component
struct TestPage {
  build() {
    Row() {
      Button('打电话').onClick(() => {
        call.makeCall('15111111111', (err, data) => {

        })
      })
    }
  }
}

文件管理

1.应用文件:文件所有者为应用,包括应用安装文件、应用资源文件、应用缓存文件
2.用户文件:文件所有者为登录到该终端设备的用户,包括用户私有的图片、视频、音频、文档等
3.系统文件:与应用和用户无关的其他文件

应用沙箱目录
应用文件目录
1.一级目录:data/
2.二级目录:storage/
3.三级目录:el1/、el2/
4.四级目录:base/、bundle/、database/
5.五级目录:cache/、files/、preferences/、temp/、haps/
6.六级目录

窗口管理

窗口沉浸式能力
悬浮窗

 onWindowStageCreate(windowStage: window.WindowStage) {
    let windowClass: window.Window = null
    windowStage.getMainWindow((err, data) => {
      if (err.code) {
        return
      }
      windowClass = data
      windowClass.setWindowSystemBarEnable([])
      windowClass.setWindowLayoutFullScreen(true)
    })
 }

元服务

@千(ker)[23]【b-qfjy】
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概述 注
    osoLife阅读 41评论 0 0
  • 一、概述 二、ArkTS 三、ArkUI 1.组件 2.文本 3.图片组件 4.输入框 5.svg 四、布局元素 ...
    osoLife阅读 92评论 0 0
  • 一、概述 二、TS 三、ArkTS 四、组件 1.图片 2.文本 3.弹窗 五、样式复用 六、UI结构复用 七、布...
    osoLife阅读 95评论 0 0
  • 一、概述 二、dangerouslySetInnerHTML 三、getDerivedStateFromProps...
    osoLife阅读 60评论 0 0
  • 一、概述 二、闭包 三、FormData 四、FileReader 注
    osoLife阅读 74评论 0 1