| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 鸿蒙-实践课程二 android、ios、HarmonyOS -> 正文阅读 |
|
[移动开发]鸿蒙-实践课程二 android、ios、HarmonyOS |
Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型。 PA支持Service Ability和Data Ability。 以上,需要再config.json 中进行type配置。 android 为activity、fragment,Activity需要在AndroidManifest.xml中进行注册。 harmonyOS 需要在config.json配置。 Ability休要在onStart(Intent intent) 初始化视图 setUIContent。activity在onCreate(@Nullable Bundle savedInstanceState)初始化?setContentView。 原因: HarmonyOS Page调用onStart()后进入INACTIVE。Android中当 Activity 进入“已开始”状态时,系统会调用onStart() 。onStart() 调用使 Activity 对用户可见,此时只是可见,但不能与用户进行交互,应用通过此方法来初始化维护界面的代码。 HarmonyOS Page会在进入INACTIVE状态后来到前台,然后系统调用onActive()。Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态。Android Activity 会在进入“已恢复”状态时来到前台,然后系统调用 onResume() 回调。这时,生命周期组件可以启用在组件可见且位于前台时需要运行的任何功能。 对于HarmonyOS Ability Abilityslice中,继承如下: Ability extends AbilityContext implements ILifecycle && class AbilitySlice extends AbilityContext implements ILifecycle。 对于android 中Activity,继承关系如下: AppCompatActivity? 五层级到ContextWrapper,再到Context,复杂功能链路。 Fragment implements ComponentCallbacks, OnCreateContextMenuListener, LifecycleOwner, ViewModelStoreOwner, HasDefaultViewModelProviderFactory, SavedStateRegistryOwner。 iOS os 中UIviewcontroller :UIResponder 以及各种协议汇总,最终死nsobject类的UIresponderStandardEditactions。 从原理是,ios < harmonyos < android,层层关系递进,这需要编译软件耗时,运行时候更高效的是层级关系简单的链路。 在宣传会议后,有这么一张从使用场景、价值、战略上(来自知乎): ?有人这么调侃:如果Apple把自家的watchOS、iPadOS、macOS、tvOS都改名叫AppleOS,就几乎占全了鸿蒙的特长。 我做过一些投屏软件,iosOS开发接触macOS后,痛苦不堪,很多兼容性api差异化很大,所以这个根本无法对等。 OpenHarmony不是HarmonyOS华为把HarmonyOS中基础功能提取出来,打包成功一个项目叫做“Openharmony” ,把Openharmony捐献给了原子开源基金会。 HarmonyOS 2 并没有捐出,这个商业版本也是基于开源项目 OpenHarmony 2.0 开发的,兼容了 AOSP,增加了 HMS 。 个人认为,这需要国家层面出手或者更高维度的需求落地进行潜移默化的处理。不能一概去除android、ios好坏之分。借助android、ios竞争性进行harmony突破。 AbilitySlice切片,是单个可视化界面及其交互逻辑的总和,是Feature Ability的组成单元。一个Feature Ability可以包含一组业务关系密切的可视化界面,每一个可视化界面对应一个AbilitySlice。 eg: AbilitySlice targetSlice = new MyAbilitySlice(); Intent intent = new Intent(); intent.setParam("value", 10); present(targetSlice, intent); |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/25 3:23:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |