【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现
NOTE05:PageAbility生命周期的呈现
基本界面设置
创建Slice与对应xml
BarAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
public class BarAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_bar);
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
FooAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
public class FooAbilitySlice extends AbilitySlice{
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_foo);
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
ability_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<Text
ohos:id="$+id:text_bar"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main"
ohos:layout_alignment="horizontal_center"
ohos:text="The Page Is Bar!"
ohos:text_size="40vp"
/>
</DirectionalLayout>
ability_foo.xml
<?xml version="1.0" encoding="utf-8"?>
<DirectionalLayout
xmlns:ohos="http://schemas.huawei.com/res/ohos"
ohos:height="match_parent"
ohos:width="match_parent"
ohos:alignment="center"
ohos:orientation="vertical">
<Text
ohos:id="$+id:text_foo"
ohos:height="match_content"
ohos:width="match_content"
ohos:background_element="$graphic:background_ability_main"
ohos:layout_alignment="horizontal_center"
ohos:text="The Page Is Foo !"
ohos:text_size="40vp"
/>
</DirectionalLayout>
设置主页面
MainAbility
package com.example.myapplication;
import com.example.myapplication.slice.FooAbilitySlice;
import com.example.myapplication.slice.MainAbilitySlice;
import ohos.aafwk.ability.Ability;
import ohos.aafwk.content.Intent;
public class MainAbility extends Ability {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setMainRoute(FooAbilitySlice.class.getName());
}
}
跳转设置
BarAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Text;
public class BarAbilitySlice extends AbilitySlice {
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_bar);
Text text = findComponentById(ResourceTable.Id_text_bar);
text.setClickedListener(listener -> present(new FooAbilitySlice(),new Intent()));
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
FooAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Text;
public class FooAbilitySlice extends AbilitySlice{
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_foo);
Text text = findComponentById(ResourceTable.Id_text_foo);
text.setClickedListener(listener -> present(new BarAbilitySlice(),new Intent()));
}
@Override
public void onActive() {
super.onActive();
}
@Override
public void onForeground(Intent intent) {
super.onForeground(intent);
}
}
重写生命周期方法
按下Crtl
+o
选择你需要重写的方法
打印HiLog日志
FooAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Text;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
public class FooAbilitySlice extends AbilitySlice{
public static final HiLogLabel loglabel = new HiLogLabel(HiLog.LOG_APP,0x11102,"FooAbilitySlice");
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_foo);
Text text = findComponentById(ResourceTable.Id_text_foo);
text.setClickedListener(listener -> present(new BarAbilitySlice(),new Intent()));
}
@Override
public void onActive() {
HiLog.info(loglabel,"[xrilang]FooAbilitySlice onActive start");
super.onActive();
}
@Override
protected void onInactive() {
HiLog.info(loglabel,"[xrilang]FooAbilitySlice onInactive start");
super.onInactive();
}
@Override
protected void onBackground() {
HiLog.info(loglabel,"[xrilang]FooAbilitySlice onBackground start");
super.onBackground();
}
@Override
public void onForeground(Intent intent) {
HiLog.info(loglabel,"[xrilang]FooAbilitySlice onForeground start");
super.onForeground(intent);
}
@Override
protected void onStop() {
HiLog.info(loglabel,"[xrilang]FooAbilitySlice onstop start");
super.onStop();
}
}
BarAbilitySlice
package com.example.myapplication.slice;
import com.example.myapplication.ResourceTable;
import ohos.aafwk.ability.AbilitySlice;
import ohos.aafwk.content.Intent;
import ohos.agp.components.Text;
import ohos.hiviewdfx.HiLog;
import ohos.hiviewdfx.HiLogLabel;
public class BarAbilitySlice extends AbilitySlice {
public static final HiLogLabel loglabel = new HiLogLabel(HiLog.LOG_APP,0x11103,"BarAbilitySlice");
@Override
public void onStart(Intent intent) {
super.onStart(intent);
super.setUIContent(ResourceTable.Layout_ability_bar);
Text text = findComponentById(ResourceTable.Id_text_bar);
text.setClickedListener(listener -> present(new FooAbilitySlice(),new Intent()));
}
@Override
public void onActive() {
HiLog.info(loglabel,"[xrilang]BarAbilitySlice onActive start");
super.onActive();
}
@Override
protected void onInactive() {
HiLog.info(loglabel,"[xrilang]BarAbilitySlice onInactive start");
super.onInactive();
}
@Override
protected void onBackground() {
HiLog.info(loglabel,"[xrilang]BarAbilitySlice onBackground start");
super.onBackground();
}
@Override
protected void onStop() {
HiLog.info(loglabel,"[xrilang]BarAbilitySlice onStop start");
super.onStop();
}
@Override
public void onForeground(Intent intent) {
HiLog.info(loglabel,"[xrilang]BarAbilitySlice onForeground start");
super.onForeground(intent);
}
}
可以在搜索处搜索tag、key、以及一些你想要的字符
分析HiLog日志
【HarmonyOS】【DevEco Studio】NOTE05:PageAbility生命周期的呈现的更多相关文章
- Android Studio教程03-Activtiy生命周期的理解
目录 1. Activity 1.1. 安卓中的Activity定义和特性: 1.2. 注册Activity 1. Intent filters:设置默认开启的activity 1.3. Activi ...
- Android Studio 活动的生命周期
Activity 类中定义了7个回调方法,覆盖了活动的活动周期的每一环节 onCreate() 活动第一次创建的时候调用 onStart() 这个活动由不可见变为可见的时候调用 onResume() ...
- Android Studio 学习 - Activity生命周期
落下两晚了,继续学习…… 先粘贴2张官方给的流程图: ------------------------------------------------------------------------- ...
- Android Studio [Activity的生命周期]
package com.xdw.a122; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; imp ...
- ASP.NET编程模型之ASP.NET页面生命周期图解
ASP.NET编程模型中ASP.NET页面生命周期是指什么呢?它包括什么呢?ASP.NET编程模型之ASP.NET页面生命周期具体的过程有哪些呢?下面就开始我们的讲解吧: ASP.NET 页运行时,此 ...
- Android Studio 单刷《第一行代码》系列 06 —— Fragment 生命周期
前情提要(Previously) 本系列将使用 Android Studio 将<第一行代码>(书中讲解案例使用Eclipse)刷一遍,旨在为想入坑 Android 开发,并选择 Andr ...
- Android studio教程:[5]活动的生命周期
想要学好安卓开发,就必须理解安卓软件的生命周期,明白一个活动的创建.启动.停止.暂停.重启和销毁的过程,知道各个阶段会调用什么函数进行处理不同的情况,这里我就通过一个简单的例子让大家明白一个活动的生命 ...
- ASP.net 页面生命周期
ASP.NET 页面生命周期 Page_Preinit(); 在页初始化开始时发生 Page_Init(); 在所有控件初始化且应用外观设置后引发 Page_InitComplete(); 在页初始化 ...
- 详解ASP.NET MVC的请求生命周期
本文的目的旨在详细描述asp.net mvc请求从开始到结束的每一个过程. 我希望能理解在浏览器输入url并敲击回车来请求一个asp.net mvc网站的页面之后发生的任何事情. 为什么需要关心这些? ...
随机推荐
- mac下将python2.7改为python3
mac下将python2.7改为python3 查看当前电脑python版本 python -V 修改.bash_profile文件 vi ~/.bash_profile //编辑bash_profi ...
- 菜鸡的Java笔记 数字操作类
数字操作类 Math 类的使用 Random 类的使用 BigInteger 和 BigDecimal 类的使用 Math 是一 ...
- 菜鸡的Java笔记 第三十四 Annotation
Annotation 多例模式特点: 1. 多例类可以有多个实例 2. 多例类必须自己创建自己的实例,并管理自己的实例,和向外界提供自己的实例 ...
- kafka数据清理
Kafka将数据持久化到了硬盘上,允许你配置一定的策略对数据清理,清理的策略有两个,删除和压缩. 数据清理的方式 删除 log.cleanup.policy=delete启用删除策略直接删除,删除后的 ...
- Maven 依赖调解源码解析(一):开篇
本文是系列文章<Maven 源码解析:依赖调解是如何实现的?>第一篇,主要做个开头介绍.并为后续的实验做一些准备.系列文章总目录参见:https://www.cnblogs.com/xia ...
- [hdu7032]Command and Conquer: Red Alert 2
令$(x,y,z)$为狙击手的坐标,其攻击范围即以$(x,y,z)$为中心的$(2k)^{3}$的立方体 为了避免$k$的影响(二分答案会多一个$\log$),不妨将其变为以$(x,y,z)$为左下 ...
- [luogu3706]硬币游戏
(可以参考洛谷4548,推导过程较为省略) 定义$g_{i}$表示随机$i$次后未出现给定字符串的概率,$f_{k,i}$表示随机$i$次后恰好出现$s_{k}$(指第$k$个字符串)的概率,设两者的 ...
- [bzoj1071]组队
题目即要求$Ah+Bv<=C+Aminh+Bminv$,如果同时枚举minh和minv,那么即要求$minh\le h$,$minv\le v$且$s\le C+Aminh+Bminv$从小到大 ...
- AOP实现方式一
1.创建相应的类 2.代码 service沿用前面的 增加两个log Log.java package com.shao.log; import org.springframework.aop.Met ...
- 6.K8s集群升级、etcd备份和恢复、资源对象及其yaml文件使用总结、常用维护命令
1.K8s集群升级 集群升级有一定的风险,需充分测试验证后实施 集群升级需要停止服务,可以采用逐个节点滚动升级的方式 1.1 准备新版本二进制文件 查看现在的版本 root@k8-master1:~# ...