【开发自修室】大家一起学HarmonyOS鸿蒙Next应用程序开发教程:第11讲 RelativeContainer相对布局详解
【开发自修室】大家一起学HarmonyOS鸿蒙Next应用程序开发教程
第11讲 HarmonyOS NEXT RelativeContainer相对布局详解以及List结合浮动弹出按钮导航布局(学习时长:46分57秒)
在线学习地址:https://www.bilibili.com/video/BV1fw2ZYSEk2
如果大家有任何的意见和建议,欢迎一起交流学习!
大佬,怎么传递一个对象类型的参数到第二个页面呢?在文档中找不到该如何传递对象参数
更多关于【开发自修室】大家一起学HarmonyOS鸿蒙Next应用程序开发教程:第11讲 RelativeContainer相对布局详解的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
把对象实现序列化,然后传过来就可以了。获取对象的时候使用getSerializableParam
Person person = (Person) intent.getSerializableParam();
System.out.println(person.getName());
在HarmonyOS鸿蒙Next应用程序开发中,Ability的跳转是通过Intent
对象来实现的。Intent
是鸿蒙系统中用于在Ability之间传递数据和启动目标Ability的核心机制。开发者可以通过设置Intent
的目标Ability名称、操作类型以及携带的数据,来实现Ability之间的跳转。
具体步骤如下:
-
创建Intent对象:在源Ability中,创建一个
Intent
对象,并指定目标Ability的名称。例如:let intent = { bundleName: "com.example.myapplication", abilityName: "com.example.myapplication.SecondAbility" };
-
设置操作类型:可以通过
Intent
的action
属性来指定操作类型,如启动、停止等。例如:intent.action = "action.start";
-
携带数据:可以通过
Intent
的parameters
属性来传递数据。例如:intent.parameters = { "key1": "value1", "key2": 100 };
-
启动目标Ability:使用
startAbility
方法来启动目标Ability。例如:this.context.startAbility(intent) .then(() => { console.log("Ability started successfully"); }) .catch((err) => { console.error("Failed to start ability", err); });
-
处理返回结果:如果需要处理目标Ability返回的结果,可以使用
startAbilityForResult
方法,并在源Ability中重写onAbilityResult
方法来处理返回的数据。例如:this.context.startAbilityForResult(intent, 1) .then(() => { console.log("Ability started for result"); }) .catch((err) => { console.error("Failed to start ability for result", err); }); onAbilityResult(requestCode, resultCode, data) { if (requestCode === 1) { if (resultCode === 0) { console.log("Result received:", data); } } }
通过以上步骤,开发者可以在HarmonyOS鸿蒙Next应用程序中实现Ability之间的跳转和数据传递。