IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: 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
上一篇文章      下一篇文章      查看所有文章
加:2022-07-17 16:34:46  更:2022-07-17 16:34:53 
 
开发: 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-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码