Android(三)Activity 基础知识

2023-02-03  本文已影响0人  _1633_

Activity 是什么

    activity是 Android 组件 中最基本也是最为常见用的 四大组件 之一。Android 四大组件有 Activity,Service 服务,ContentProvider 内容提供,BroadcastReceiver 广播接收器。

    Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。

    Activity中所有操作都与用户密切相关,是一个负责与 用户交互 的组件,可以通过 setContentView(View) 来显示指定控件

    在一个android应用中,一个 Activity 通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。


Activity  的创建

    分为三部

        1 创建 Activity 

1

        2 在 manifest 中注册 activity

主入口特有

        3 关联布局

Activity 和 layout  进行关联布局

Activity 之间的跳转

         Intent 类

布局 Intent 

    注意: 需要在 manifest 中注册 activity (一般都是自动注册的)。


Activity  4 种启动模式

    Activity 存放 在 栈中, Activity 之间的跳转 就像 出栈  入栈 一样,这是 系统默认的 启动模式;

Activity 之间的跳转

    4 种启动模式

        1 standard

standard

        2 singleTop

            顶部复用模式

顶部复用模式

        3 singleTask

        4 singleInstance

    如何设置模式

        1 manifest 中设置

manifest 

        2 在代码中设置

 在代码中设置

Activity 的生命周期

    类比 Vue 、React 的生命周期

生命周期 生命周期 生命周期

Activity 之间数据的传递

    页面跳转传参

        可以传递 多种数据结构

第一个页面

            注意 当传递 序列化的数据,该类需要 implements Serializable

 序列化的数据

    第二个页面 接受参数

        在 onCreate 生命周期 中

   第二个页面

当我们需要回传数据的时候

    关闭页面将数据回传到原来的页面

            步骤

                1 第一个页面 使用 startActivityForResult

startActivityForResult

                2 第二个页面 使用 setResult 返回数据

                    可以选择 关闭页面的 生命周期 或者 退后按钮事件中 返回数据

                3 第一个页面 onActivityResult 监听结果返回的 事件

onActivityResult 

Fragment

        设计思想

          做不同屏幕的适配, 模块化可复用,就跟 React 和 Vue 的组件类似

        Fragment  和 Activity 的区别

            1 Fragment 是到 Android 3.0+ 以后才出现;

            2 一个 Activity 可以运行多个 Fragment;

            3 Fragment 不能脱离 Activity 而存在;

            4 Activity 是屏幕的主题,而 Fragment 是 Activity 的一个组成元素;

使用方式

        静态加载: XML

            步骤

                1 编写 fragment 的 布局;

xml

            2 编写 fragment 类

应用布局

     3 在主 Activity 中应用 fragment

       注意 name 是 fragment 的 全路径

    动态加载: Java code 

        步骤 1 

          同静态加载 还是要先把 fragment 的类 和 布局写好

        步骤 2 

          需要加载 fragment 的 Activity 的布局文件 需要 写好 占位的 控件;

以后会被 fragment 替换

Fragment 传值

   类比 Vue 和 React 的 父子组件传值;

   Activity -----> Fragment 传值

        使用 setArguments 方法

fragment 中 主 Activity 中 onCreate 方法 传参数

    类比 React 的 state, 首先 声明 state, 然后父组件中 传入参数, 这样 子组件就能拿到参数并使用, 注意 在不同的生命周期中获取;


   Fragment -----> Activity 传值

        使用 Callback

Fragment  中 Activity 中

通过 将 主 Activity 的 this 传入, 并且 主 Activity 实现了 onClick 方法 

mOnTitleClickListener 就是 this,直接 调用了 Activity 的 onclick 方法,拿到了 fragment 的传递的参数 title;

上一篇 下一篇

猜你喜欢

热点阅读