2021-07-03

HarmonyOS笔记

生命周期

主界面的生命周期,实现了ILifecycle接口,生命周期状态一共有七种
  • undefined

  • onStart()

  • onInactive()

  • onActive()

  • onBackground()

  • onForeground()

  • onStop()

    界面启动时调用onStart()和onActive()
    点击返回键时调用onInactive() onBackground() onStop()
    

工程目录

com.xxx.xxx  MyApplication.java  MainAbility.java
data
model
provider
slice   
utils
view

UI框架

  • HarmonyOS提供了Ability和AbilitySlice两个基础类,一个有界面的Ability可以由一个或多个AbilitySlice构成,AbilitySlice主要用于承载单个页面的具体逻辑实现和界面UI,是应用显示、运行和跳转的最小单元。AbilitySlice通过setUIContent为界面设置布局。
  1. 用代码创建Component和ComponentContainer对象,为这些对象设置合适的布局参数和属性值,并将Component添加到ComponentContainer中,从而创建出完整界面.
  2. 按层级结构来描述Component和ComponentContainer的关系,给组件节点设定合适的布局参数和属性值,代码中可直接加载生成此布局。

组件类别

布局

  • DirectionalLayout == LinearLayout

  • DependentLayout == RelativeLayout
    相对布局 DependentLayout 常用属性 :

    在某组件下方 : ohos:below=""
    
    在某组件上方 : ohos:above=""
    
    在某组件左侧 : ohos:left_of=""
    
    在某组件右侧 : ohos:right_of=""
    
    在父容器左侧 : ohos:align_parent_left=""
    
    在父容器顶部 : ohos:align_parent_top=""
    
    在父容器右侧 : ohos:align_parent_right=""
    
    在父容器底部 : ohos:align_parent_bottom=""
    
    与某组件左侧对齐 : ohos:align_left=""
    
    与某组件顶部对齐 : ohos:align_top=""
    
    与某组件右侧对齐 : ohos:align_right=""
    
    与某组件底部对齐 : ohos:align_bottom=""
    
XRecyclerView库

该三方开源库从github fork过来,主要将底层安卓接口调用的实现修改成鸿蒙接口的实现,将三方库鸿蒙化,供开发鸿蒙应用的开发者使用
https://gitee.com/openharmony-tpc/XRecyclerView

Gradle Dependency
implementation "io.openharmony.tpc.thirdlib:XRecyclerView:1.0.2"
recyclerview
LayoutConfig lp = new LayoutConfig(LayoutConfig.MATCH_PARENT,LayoutConfig.MATCH_CONTENT);
mRecyclerView.setLayoutConfig(lp);
mRecyclerView.setOrientation(VERTICAL);
mRecyclerView.setItemProvider(mAdapter);
鸿蒙列表组件ListContainer

https://blog.51cto.com/u_14410880/2569585

布局类
提供了不同布局规范的组件容器,例如以单一方向排列的DirectionalLayout、以相对位置排列的DependentLayout、以确切位置排列的PositionLayout等。
  • PositionLayout、DirectionalLayout、StackLayout、DependentLayout、TableLayout、AdaptiveBoxLayout
显示类
提供了单纯的内容显示,例如用于文本显示的Text,用于图像显示的Image等。
  • Text、Image、Clock、TickTimer、ProgressBar
交互类
提供了具体场景下与用户交互响应的功能,例如Button提供了点击响应功能,Slider提供了进度选择功能等。

TextField、Button、Checkbox、RadioButton/RadioContainer、Switch、ToggleButton、Slider、Rating、ScrollView、TabList、ListContainer、PageSlider、PageFlipper、PageSliderIndicator、Picker、TimePicker、DatePicker、SurfaceProvider、ComponentProvider

xml创建布局

ohos:id="$+id:text"
ohos:width="20vp"
ohos:height="10vp"
(vp:以屏幕相对像素为单位)

应用权限

申请迁移权限

1. 在config.json中声明权限
   "rePermissions":[
     {
       “name”:ohos.permission.DISTRIBUTED_DATASYNC”
     }
   ] 
2. 在MainAbility.java中申请权限

    if (verifySelfPermission(SystemPermission.DISTRIBUTED_DATASYNC) == IBundleManager.PERMISSION_GRANTED) {
        this.continueAbility();
    } else {
        canRequestPermission(SystemPermission.DISTRIBUTED_DATASYNC);
    }

记录学习鸿蒙应用开发笔记 笔者第一次写这种记录文章 ,写的不好 ,望大佬给点建议

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值