介绍
本示例为ArkUI中组件、通用、动画、全局方法的集合。
效果预览
绑定 | 通用 | 动画 | 全局方法 |
---|---|---|---|
Button 按钮 | onClick 点击事件 | 元素共享转场 | 警告弹窗 |
使用说明:
-
点击组件、通用、动画、全局方法四个按钮或左右滑动切换不同视图。
-
点击二级导航(如通用属性、通用事件等),若存在三级导航则展开三级导航(如Border 边框、点击事件等);若不存在三级导航,则跳转至详情页面。
-
若存在三级导航(如Border 边框、点击事件等),点击跳转至详情页面。
-
打开通用视图下拖拽事件界面需先安装DragEvent应用。
工程目录
entry/src/main/ets/
|---component
| |---AttributeModificationTool.ets // 组件
| |---IntroductionTitle.ets // 首页介绍标题组件
| |---TabContentNavigation.ets // 切换组件
| |---TitleBar.ets // 详情页面标题组件
|---Application
| |---MyAbilityStage.ts
|---data
| |---CollectionCategory.ts // 数据分类
| |---ResourceDataHandle.ts // 源数据
|---MainAbility
| |---MainAbility.ts
|---model
| |---CategoricalDataType.ts // 数据类型
|---util
| |---Logger.ts // 打印
| |---ShowToast.ets // 弹窗
|---pages
| |---Index.ets // 首页
| |---animations // 动画
| | |---AnimationData.ets
| | |---animateToSample
| | | |---AnimateToSample.ets
| | |---animationSample
| | | |---AnimationSample.ets
| | |---interpolationCalculationSample
| | | |---InterpolationCalculationSample.ets // 插值计算
| | |---motionPathSample
| | | |---MotionPathSample.ets // 路径动画
| | |---TransitionAnimations // 转场动画
| | | |---componentTransitionSample // 组件内转场
| | | | |---ComponentTransitionSample.ets
| | | |---floatingSample // 悬浮窗
| | | | |---FloatingWindowComponent.ets
| | | | |---FloatingWindowSample.ets
| | | |---folderSample // 文件夹展开
| | | | |---Folder.ets
| | | | |---FolderItem.ets
| | | | |---FolderSample.ets
| | | |---gallerySample // 图库卡片展开
| | | | |---GalleryCardSample.ets
| | | |---layoutAnimationSample // 布局动效
| | | | |---LayoutAnimationSample.ets
| | | |---multiplexSample // 多任务
| | | | |---MultiplexModel.ets
| | | | |---MultiplexSample.ets
| | | | |---ScrollItem.ets
| | | |---pageTransitionSample // 页面间转场
| | | | |---PageTransitionSample.ets
| | | | |---PageTransitionSampleTo.ets
| | | |---shareElementTransitionSample // 共享元素转场
| | | | |---ShareElementTransitionSample.ets
| | | | |---ShareElementTransitionSampleTo.ets
| | | |---shopSample // 商店卡片展开
| | | | |---ShopCardSample.ets
| | | |---sideBarTransitionSample // 侧边栏动效
| | | | |---ChangePanel.ets
| | | | |---SideBarTransitionSample.ets
| | | |---sizeTransitionSample // 尺寸变换动效
| | | | |---SizeTransitionSample.ets
| | | |---systemIcon // 系统图标
| | | | |---SystemIcon.ets
| |---components
| | |---ComponentData.ets
| | |---auxiliary // 辅助
| | | |---alphabetIndexerSample
| | | | |---AlphabetIndexerSample.ets // 字母索引条
| | | |---badgeSample
| | | | |---BadgeSample.ets // 标记
| | | |---panelSample
| | | | |---PanelSample.ets // 弹出面板
| | | |---refreshSample
| | | | |---RefreshSample.ets // 下拉刷新
| | | |---scrollbarSample
| | | | |---ScrollBarSample.ets // 滚动条
| | |---blankAndDivider // 空白与分分隔
| | | |---dividerSample
| | | | |---ChangePanel.ets
| | | | |---DividerSample.ets
| | |---buttonAndSelection // 按钮与选择
| | | |---buttonSample
| | | | |---ButtonSample.ets // 按钮
| | | |---checkboxSample
| | | | |---CheckboxSample.ets // 勾选框
| | | |---counterSample
| | | | |---CounterSample.ets // 计数器
| | | |---datePickerSample
| | | | |---DatePickerSample.ets // 日期选择器
| | | |---radioSample
| | | | |---RadioSample.ets // 单选按钮
| | | |---ratingSample
| | | | |---RatingSample.ets // 评分条
| | | |---selectSample
| | | | |---SelectSample.ets // 选择菜单
| | | |---sliderSample
| | | | |---ChangePanel.ets
| | | | |---SliderSample.ets // 滑动条
| | | |---textPickerSample
| | | | |---TextPickerSample.ets // 文本选择器
| | | |---timePickerSample
| | | | |---TimePickerSample.ets // 时间选择器
| | | |---toggleSample
| | | | |---ToggleSample.ets // 切换按钮
| | |---canvasAndGraphicDrawing // 画布与图形绘制
| | | |---canvasSample
| | | | |---CanvasSample.ets // 画布
| | | |---circleSample
| | | | |---ChangePanel.ets
| | | | |---CircleSample.ets // 圆形
| | | |---ellipseSample
| | | | |---ChangePanel.ets
| | | | |---EllipseSample.ets // 椭圆
| | | |---lineSample
| | | | |---ChangePanel.ets
| | | | |---LineSample.ets // 直线
| | | |---pathSample
| | | | |---ChangePanel.ets
| | | | |---PathSample.ets // 路径
| | | |---polygonSample
| | | | |---ChangePanel.ets
| | | | |---PolygonSample.ets // 多边形
| | | |---polylineSample
| | | | |---ChangePanel.ets
| | | | |---PolylineSample.ets // 折线
| | | |---rectSample
| | | | |---ChangePanel.ets
| | | | |---RectSample.ets // 矩形
| | | |---shapeSample
| | | | |---ShapeSample.ets // 指定图形
| | |---imageVideoAndMedia
| | | |---imageAnimatorSample
| | | | |---ImageAnimatorSample.ets // 逐帧播放图片
| | | |---imageSample
| | | | |---ImageControlPanel.ets
| | | | |---ImageSample.ets // 图片
| | | |---pluginComponentSample
| | | | |---PluginComponentSample.ets // 嵌入式显示
| | | |---videoSample
| | | | |---VideoControlPanel.ets
| | | | |---VideoSample.ets // 视频
| | | |---xcomponentSample
| | | | |---XComponentSample.ets // 绘制组件
| | |---canvas
| | | |---attributesSample
| | | | |---AttributesSample.ets // 属性
| | | |---gradientSample
| | | | |---GradientSample.ets // 渐变对象
| | | |---image_bitmapSample
| | | | |---Image_bitmapSample.ets // 位图对象
| | | |---methodsSample
| | | | |---MethodsSample.ets // 方法
| | | |---path2dSample
| | | | |---Path2dSample.ets // 路径对象
| | | |---shadowsSample
| | | | |---ShadowsSample.ets // 阴影
| | | |---transformSample
| | | | |---TransformSample.ets // 转换
| | |---informationPresentationAndDynamicEffects
| | | |---dataPanelSample
| | | | |---DataPanelSample.ets // 数据面板
| | | |---gaugeSample
| | | | |---GaugeSample.ets // 仪表盘
| | | |---imageFitFullSample
| | | | |---ImageFitFullSample.ets // 动效
| | | |---loadingProgressSample
| | | | |---LoadingProgressSample.ets
| | | |---listSample // 列表
| | | | |---ListSample.ets
| | | |---marqueeSample
| | | | |---MarqueeSample.ets // 跑马灯
| | | |---particleSample
| | | | |---ParticleSample.ets // 粒子效果
| | | |---progressSample
| | | | |---ProgressSample.ets // 进度条
| | | |---qrCodeSample
| | | | |---QRCodeSample.ets // 二维码
| | | |---scrollToSample
| | | | |---ScrollToSample.ets // 动效
| | | |---tapsSwitchSample
| | | | |---TapsSwitchSample.ets // 模糊切换
| | | |---textclockSample
| | | | |---TextClockSample.ets // 文字时钟
| | | |---textTimerSample
| | | | |---TextTimerSample.ets // 文字计时器
| | |---listAndGrid
| | | |---gridItemSample
| | | | |---GridItemControlPanel.ets
| | | | |---GridItemSample.ets // 网格容器子组件
| | | |---gridSample
| | | | |---GridControlPanel.ets
| | | | |---GridSample.ets // 网格容器
| | | |---listItemSample
| | | | |---ListItemSample.ets // 列表容器子组件
| | | |---listSample
| | | | |---ListControlPanel.ets
| | | | |---ListSample.ets // 列表容器
| | | |---waterFlowSample
| | | | |---WaterFlowDataSource.ets
| | | | |---WaterFlowSample.ets // WaterFlow
| | |---navigation
| | | |---navigatorSample
| | | | |---NavigatorSample.ets // 路由
| | | | |---NavigatorSecondPage.ets
| | | | |---NavigatorThirdPage.ets
| | | |---navigationSample
| | | | |---NavigationSample.ets // 导航根容器
| | | | |---NavigationBasic.ets // 导航基础属性展示
| | | | |---ListExpandSafeArea.ets // 滚动组件避让导航条
| | | | |---NavigationSplit.ets // 导航分栏模式
| | | | |---NavigationRouter.ets // Navigation动态路由
| | | | |---NavigationModeChange.ets // Navigation模式自动切换
| | | | |---NavigationReplace.ets // 导航页面替换
| | | | |---BindSheetSafeArea.ets // BindSheet键盘避让
| | | | |---NavigationSideBar.ets // 导航分栏鼠标样式
| | | | |---NavigationHideBar.ets // 隐藏Navigation导航条
| | | | |---NavigationFullSafeArea.ets // 导航组件扩展安全区
| | | | |---NavigationExpandSafeArea.ets // 导航组件避让导航条
| | | |---navRouterSample
| | | | |---NavRouterSample.ets // 导航
| | | |---stepperAndStepperItemSample
| | | | |---StepperAndStepperItemSample.ets // 步骤导航器
| | | |---tabContentSample
| | | | |---TabContentSample.ets // 页签子组件
| | | |---tabSample
| | | | |---TabControlPanel.ets
| | | | |---TabSample.ets // 页签
| | |---rowsAndColumns
| | | |---columnSample
| | | | |---ColumnControlPanel.ets
| | | | |---ColumnSample.ets // 列容器
| | | |---columnSplitSample
| | | | |---ColumnSplitSample.ets // 列分割容器
| | | |---rowSample
| | | | |---RowControlPanel.ets
| | | | |---RowSample.ets // 行容器
| | | |---rowSplitSample
| | | | |---RowSplitSample.ets // 行分割容器
| | | |---sideBarContainerSample
| | | | |---SideBarContainerControlPanel.ets
| | | | |---SideBarContainerSample.ets // 侧边栏
| | |---scrollAndSwipe
| | | |---scrollSample
| | | | |---ScrollSample.ets // 滚动
| | | |---swiperSample
| | | | |---SwiperControlPanel.ets
| | | | |---SwiperCustomAnimationControlPanel.ets
| | | | |---SwiperSample.ets // 轮播
| | |---stackFlexAndGrid
| | | |---flexSample
| | | | |---FlexControlPanel.ets
| | | | |---FlexSample.ets // 弹性布局
| | | |---gridContainerSample
| | | | |---GridContainerControlPanel.ets
| | | | |---GridContainerSample.ets // 栅格系统
| | | |---stackSample
| | | | |---StackControlPanel.ets
| | | | |---StackSample.ets // 层叠布局
| | |---textAndInput
| | | |---patternLockSample
| | | | |---ChangePanel.ets
| | | | |---PattternLockSample.ets // 密码锁
| | | |---searchSample
| | | | |---ChangePanel.ets
| | | | |---SearchSample.ets // 搜索栏
| | | |---imageSpanSample
| | | | |---ChangePanel.ets
| | | | |---imageSpanSample.ets // 行内图像
| | | |---textAreaSample
| | | | |---ChangePanel.ets
| | | | |---TextAreaSample.ets // 文本域
| | | |---richEditorSample
| | | | |---RichEditorSample.ets // 富文本编辑
| | | | |---Title.ets
| | | |---richTextSample
| | | | |---RichTextSample.ets // 富文本
| | | |---spanSample
| | | | |---ChangePanel.ets
| | | | |---SpanSample.ets // 行内文本
| | | |---textInputSample
| | | | |---TextInputSample.ets // 文本输入
| | | |---textSample
| | | | |---ChangePanel.ets
| | | | |---TextSample.ets // 文本
| | | |---textStyledStringSample
| | | | |---TextStyledStringSample.ets // 文本属性字符串
| | |---web
| | | |---webSample
| | | | |---WebSample.ets // 网页
| |---globalMethods // 详情页面
| | |---GlobalMethodData.ets
| | |---dialogs
| | | |---alertDialogSample
| | | | |---AlertDialogSample.ets // 警告弹窗
| | | |---customDialogSample
| | | | |---CustomDialog.ets
| | | | |---CustomDialogSample.ets // 自定义弹窗
| | | |---dateDialogSample
| | | | |---DateDialogSample.ets // 日期选择弹窗
| | | |---timeDialogSample
| | | | |---TimeDialogSample.ets // 时间选择弹窗
| | | |---actionSheetDialogSample
| | | | |---ActionSheetDialogSample.ets // 列表选择弹窗
| | | |---textPickerDialogSample
| | | | |---TextPickerDialogSample.ets // 文本滑动选择器弹窗
| | | |---menuSample
| | | | |---MenuSample.ets // 菜单
| | | |---bindSheetSample
| | | | |---BindSheetSample.ets // 半模态
| | | |---popUpSample
| | | | |---PopUpSample.ets // Popup
| |---universal // 详情页面
| | |---UniversialData.ets
| | |---events
| | | |---areaChangeEventSample
| | | | |---AreaChangeEventSample.ets // 组件区域变化事件
| | | |---clickEventSample
| | | | |---ClickEventSample.ets // 点击事件
| | | |---dragEventSample
| | | | |---component // 组件拖拽
| | | | | |---FormComponentDrag.ets
| | | | | |---GridItemDrag.ets
| | | | | |---HyperlinkDrag.ets
| | | | | |---ImageDrag.ets
| | | | | |---ListItemDrag.ets
| | | | | |---MultiSelectDrag.ets
| | | | | |---TextDrag.ets
| | | | | |---VideoDrag.ets
| | | | |---DragEventSample.ets // 拖拽事件
| | | |---focusEventSample
| | | | |---FocusEventSample.ets // 焦点事件
| | | |---keyPressEventSample
| | | | |---KeyPressEventSample.ets // 按压事件
| | | |---mountUnmountEventSample
| | | | |---MountUnmountEventSample.ets // 挂载卸载事件
| | | |---mouseEventSample
| | | | |---MouseEventSample.ets // 鼠标事件
| | | |---scrollEventSample
| | | | |---ScrollEventSample.ets // 滚动事件
| | | |---touchEventSample
| | | | |---TouchEventSample.ets // 触摸事件
| | | |---customEventSample
| | | | |---CustomEventHome.ets // 自定义事件分发入口
| | | | |---CustomClickEvent.ets // 自定义click事件分发
| | | | |---CustomScrollingEvent.ets // 自定义scrolling事件分发
| | |---gesture
| | | |---bindGestureSample
| | | | |---BindGestureSample.ets // 绑定手势方法
| | | |---combinedSample
| | | | |---CombinedSample.ets // 组合手势
| | | |---longPressSample
| | | | |---LongPressSample.ets // 长按手势
| | | |---panSample
| | | | |---PanSample.ets // 拖动手势
| | | |---pinchSample
| | | | |---PinchSample.ets // 捏合手势
| | | |---rotationSample
| | | | |---RotationSample.ets // 旋转手势
| | | |---swipeSample
| | | | |---SwipeSample.ets // 滑动手势
| | | |---tapGestureSample
| | | | |---TapGestureSample.ets // Tap手势
| | | |---customGesture
| | | | |---CustomGestureJudge.ets // 自定义手势判定
| | |---properties
| | | |---attributeModifierSample
| | | | |---AttributeModifierSample.ets // 动态属性设置
| | | |---foregroundSample
| | | | |---ForegroundSample.ets // 前景
| | | |---backgroundSample
| | | | |---BackgroundSample.ets // 背景
| | | |---borderSample
| | | | |---BorderSample.ets // 边框
| | | |---outlineSample
| | | | |---OutlineSample.ets // 外边框
| | | |---componentBlurredSample
| | | | |---ComponentBlurredSample.ets // 分布式迁移标识
| | | |---componentIDSample
| | | | |---ComponentIDSample.ets // 组件标识
| | | |---displaySample
| | | | |---DisplaySample.ets // 显示
| | | |---effectsSample
| | | | |---EffectsSample.ets // 互动
| | | |---flexSample
| | | | |---FlexSample.ets // flex布局
| | | |---focusControlSample
| | | | |---FocusControlSample.ets // 焦点控制
| | | |---fontSample
| | | | |---FontSample.ets // 字体
| | | |---gridSettingsSample
| | | | |---GridSettingsSample.ets // 栅格设置
| | | |---interactionSample
| | | | |---InteractionSample.ets // 图像效果
| | | |---layoutConstraintSample
| | | | |---LayoutConstraintSample.ets // 布局约束
| | | |---locationSample
| | | | |---LocationSample.ets // 位置设置
| | | |---pictureBorderSample
| | | | |---PictureBorderSample.ets // 图片边框设置
| | | |---restoreIdSample
| | | | |---RestoreIdSample.ets // 分布式迁移标识
| | | |---rotateSample
| | | | |---RotateSample.ets // 旋转
| | | |---scaleSample
| | | | |---ScaleSample.ets // 缩放
| | | |---shapeCropSample
| | | | |---ShapeCropSample.ets // 形状裁剪
| | | |---safeAreaSample
| | | | |---SafeAreaSample.ets // 安全区域
| | | |---sizeSample
| | | | |---SizeSample.ets // 尺寸
| | | |---transformSample
| | | | |---TransformSample.ets // 变换矩阵
| | | |---translateSample
| | | | |---TranslateSample.ets // 图像变换
具体实现
本示例使用 Tabs容器组件 搭建整体应用框架,每个 TabContent内容视图 使用 List容器组件 布局,在每个 List容器组件 中使用 循环渲染 加载此分类下分类导航数据,底部导航菜单使用 TabContent中tabBar属性 设置自定义样式 。
-
将组件库分成四大类,切换查看
-
组件模块:
-
空白与分隔
- 封装自定义组件:CommonItemSlider,CommonItemSelect,CommonItemColorSelect
- 接口参考:@ohos.app.ability.common
-
按钮与选择
- 使用全局组件ShowToast,TitleBar,IntroductionTitle实现按钮,时间选择器,单选按钮,选择菜单,滑动条,切换按钮,勾选框,文本选择器,时间选择器,计数器,评分条组件功能
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
滚动与滑动
- 使用全局组件TitleBar实现滚动,翻页组件功能
-
信息展示与功效
- 使用全局组件TitleBar,AttributeModificationTool实现二维码,进度条,跑马灯,文字计时器,文字时钟,仪表盘,数据面板组件功能
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
文本与输入
- 使用全局组件ShowToast,TitleBar,AttributeModificationTool,IntroductionTitle实现行内文本,行内图像,文本输入,文本,富文本组件功能
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
辅助
- 使用全局组件TitleBar实现标记,滚动条,下拉刷新,弹出面板,字母索引条组件功能
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
画布
- 使用全局组件TitleBar, CanvasGradient, CanvasPattern, ImageBitmap, Path2D等实现图形绘制属性,图形绘制方法,渐变对象绘制,路径对象绘制,位图的绘制,阴影绘制,变换绘制
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
-
通用模块:
-
通用事件
- 用到全局组件TitleBar,IntroductionTitle实现页面
- resetBallMotion,isSideReached,calculateReachedSide,decideMoveDirection方法计算区域坐标,moveBall方法移动球体
-
通用属性
- 使用全局组件TitleBar,AttributeModificationTool实现组件页面
- 接口参考:@ohos.promptAction
-
-
动画模块:
-
转场动画
- 用到全局组件TitleBar,IntroductionTitle实现页面
- 接口参考:@ohos.promptAction
-
插值计算
- 用到全局组件TitleBar,IntroductionTitle实现页面
- 接口参考:@ohos.curves, @ohos.router
-
显示动画
- 用到全局组件TitleBar,IntroductionTitle实现页面
- 接口参考:animateTo
-
属性动画
- 用到全局组件TitleBar,IntroductionTitle实现页面
- 接口参考:animation
-
路径动画
- 用到全局组件TitleBar,IntroductionTitle实现页面
- 接口参考:path
-
-
全局方法模块:
-
弹窗
- 使用全局组件ShowToast,TitleBar,IntroductionTitle实现弹窗组件页面
- 使用getStringArrayData,getStringData获取数据ResourceDataHandle.ets
-
半模态
- 使用全局组件TitleBar,IntroductionTitle实现半模态组件页面
- 接口参考:bindSheet
-
Popup
-
-
约束与限制
1.本示例仅支持标准系统上运行,支持设备:RK3568。
2.本示例仅支持API12版本SDK,SDK版本号(5.0.0.23 Canary2),镜像版本号( OpenHarmony 5.0.0.23)。
3.本示例需要使用DevEco Studio 版本号(4.1.3.500)及以上版本才可编译运行。
4.本示例涉及ohos.permission.GET_BUNDLE_INFO_PRIVILEGED、ohos.permission.REQUIRE_FORM为system_basic级别(相关权限级别可通过权限定义列表 查看),需要配置高权限签名,可参考应用apl等级说明。
5.本示例涉及系统接口,需要配置系统应用签名,可以参考修改harmonyappprovision配置文件 ,把配置文件中的“app-feature”字段信息改为“hos_system_app”。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo code/UI/ArkTsComponentCollection/ComponentCollection/ > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
最后
有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。
点击领取→【纯血版鸿蒙全套最新学习资料】(安全链接,放心点击)希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!
这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了(ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、(南向驱动、嵌入式等)鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。
鸿蒙(HarmonyOS NEXT)最新学习路线
有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)与鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。
获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料
HarmonyOS Next 最新全套视频教程
《鸿蒙 (OpenHarmony)开发基础到实战手册》
OpenHarmony北向、南向开发环境搭建
《鸿蒙开发基础》
- ArkTS语言
- 安装DevEco Studio
- 运用你的第一个ArkTS应用
- ArkUI声明式UI开发
- .……
《鸿蒙开发进阶》
- Stage模型入门
- 网络管理
- 数据管理
- 电话服务
- 分布式应用开发
- 通知与窗口管理
- 多媒体技术
- 安全技能
- 任务管理
- WebGL
- 国际化开发
- 应用测试
- DFX面向未来设计
- 鸿蒙系统移植和裁剪定制
- ……
《鸿蒙进阶实战》
- ArkTS实践
- UIAbility应用
- 网络案例
- ……
大厂面试必问面试题
鸿蒙南向开发技术
鸿蒙APP开发必备
鸿蒙生态应用开发白皮书V2.0PDF
总结
总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,才能在这个变革的时代中立于不败之地。