当前位置:   article > 正文

2021-07-03_鸿蒙lifecycledata 接口实现

鸿蒙lifecycledata 接口实现

HarmonyOS笔记

生命周期

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

  • onStart()

  • onInactive()

  • onActive()

  • onBackground()

  • onForeground()

  • onStop()

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

工程目录

com.xxx.xxx  MyApplication.java  MainAbility.java
data
model
provider
slice   
utils
view
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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=""
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
XRecyclerView库

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

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

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

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

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
  • 2
  • 3
  • 4

应用权限

申请迁移权限

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

    if (verifySelfPermission(SystemPermission.DISTRIBUTED_DATASYNC) == IBundleManager.PERMISSION_GRANTED) {
        this.continueAbility();
    } else {
        canRequestPermission(SystemPermission.DISTRIBUTED_DATASYNC);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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

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

闽ICP备14008679号