Android |(七)四大组件1 Activity

参考:activity 简介  |  Android Developers

目录

一、Activity概念

二、Activity生命周期

2.1生命周期演示: DemoActivity

【注意】

【演示1】打开app,退出app

【演示2】打开app,按home键,再打开app

【演示3】打开app,进入MainActivity2,跳转到DemoActivity

2.2面试题——横竖屏切换的生命周期 【待演示……】

解决方案

三、Activity使用 

(一)Activity创建

模版创建 | 建新项目时

模版创建 | 项目内

手动创建:

(二)Manifest配置

​编辑 固定方向(默认竖屏

(三)如何更改主Activity? 

1.App-->Edit Configurations

2.修改launch Activity

3.修改AndroidManifest中对应Activity的exported属性 


一、Activity概念

        安卓提供给用户与手机之间可交互的界面组件

移动应用中,用户与应用的互动不总是在同一位置开始,用户转化历程往往会不确定性地开始。

例如:
从主屏幕打开电子邮件应用,可能会看到电子邮件列表。

从社交媒体应用中启动电子邮件应用,可能会直接进入电子邮件应用的撰写屏幕。 

        Activity类就旨在促进这种范式:当应用A调用应用B时,A会调用B中的 activity,而不是整个应用。这样,activity 便会充当应用与用户互动的入口点。 

通常情况下,

  1. 一个Activity实现应用中的一个屏幕;
  2. 应用中的一个 activity 会被指定为main activity,即用户启动应用时显示的第一个屏幕
  3. Activity相当于一个舞台,上面有一场又一场的表演,表演由fragment来扮演
  4. 一个Activity是一个独立的界面(实现应用中的一个屏幕),当我们创建一个界面的时候,它可以被独立启动

二、Activity生命周期

        为了在 activity 生命周期的各个阶段之间导航过渡,Activity 类提供了六个核心回调,当 activity 进入新状态时,系统会调用其中每个回调。

序号

回调方法

活动调用时刻备注
1onCreate()创建首次创建,通常做一些初始化工作
(如setContainView加载界面布局资源)
用户不可见,“被创建”状态
2onStart()开始准备进入前台,即将可见用户不可见,“已开始”状态
3onResume()启动

用户与应用程序交互时

可见可操作(有焦点),“已恢复”状态

4onPause()中断当前的活动被暂停可见(弹窗)不可操作(无焦点),“已暂停”状态
5onStop()停止停止工作“已停止”状态
(隐藏)
6onDestroy()销毁即将结束时“已销毁”
7onRestart恢复暂停之后重新可见

2.1生命周期演示: DemoActivity

对Logcat使用不太了解的请参考Android |(四) Logcat的使用-CSDN博客

【注意】

1.可以通过moveto改变Logcat所在位置,为方便截图,将其放在左上

2.过滤显示条件

【演示1】打开app,退出app

【演示2】打开app,按home键,再打开app

【演示3】打开app,进入MainActivity2,跳转到DemoActivity

A跳转到B时,是:Apause暂停,B创建 B开始 B继续启动 ,Astop停止

2.2面试题——横竖屏切换的生命周期 【待演示……】

正常情况下,会

on pause -> on stop --> on Destory

onCreate-->onStart --> onResume

但这样会造成这种情况:手机看视频,竖屏转横屏后,视频不能继续播放了,

为了解决这个问题--->不让它走这个生命周期

解决方案

在清单文件中配置:

android:configChanges="orientation | keyboardHidden"

这样横竖屏切换时,就不会销毁再重建

三、Activity使用 

(一)Activity创建

  • 模版创建 | 建新项目时

  • 模版创建 | 项目内

  • 手动创建:

Activity继承于AppCompatActivity(技术发展->继承于FragmentActivity,增加了一些功能,更加适配),而不是纯粹的Activity

(1)创建一个普通类

(2)普通类变为Activity

//1.继承AppCompatActivity
public class SecondActivity extends AppCompatActivity { 
    //重写有一个参数的onCreate()
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }
}

(3)手动创建布局文件 

(4)加载布局:在onCreate() 中调用setContentView()

//在Activity中显示xml布局资源文件
        setContentView(R.layout.activity_second);

(二)Manifest配置

        所有的Activity必须在Manifest文件(目的:自己清楚自己有哪些界面)中注册

主要是针对整个项目四大组件、APP图标(就是应用商店能看到的APP封面图)等的配置

注意:模版创建的Activity,会自动配置,手动创建的需要自行配置

 固定方向(默认竖屏

android:screenOrientation="landscape" //固定横屏
android:screenOrientation="portrait"  //固定竖屏

(三)如何更改主Activity? 

1.App-->Edit Configurations

2.修改launch Activity

3.修改AndroidManifest中对应Activity的exported属性 

  • 43
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值