登录 |  注册
首页 >  移动开发 >  Android零基础入门与实战-学习笔记 >  Android活动(Activity)组件

Android活动(Activity)组件

Android活动(Activity)是Android应用程序架构中的核心组件之一,它在用户界面(UI)的呈现和应用程序与用户的交互中扮演着至关重要的角色。

AndroidActivity.png

以下是关于Android活动的详细说明:

概念与作用

  1. 定义与性质:

    • Activity 是一个应用程序组件,通常代表一个单一的、用户可感知的屏幕界面,如主屏幕、设置页、详情展示页等。

    • 它是 android.app.Activity 类的直接或间接子类,通常作为独立的Java或Kotlin类实现。

    • Activity 是 Context 的子类,因此具备访问系统服务、资源以及与其他组件交互的能力。

  2. 用户交互:

    • 活动承载了应用程序的视图(View)层次结构,通过布局文件(XML)与代码相结合的方式构建用户界面。

    • 它响应用户的输入事件(如触摸、按键操作),处理业务逻辑,并更新界面以提供反馈。

  3. 应用结构:

    • 一个Android应用通常由多个相互关联的活动组成,通过启动新的活动或者返回上一个活动形成任务(Task)栈式的导航结构。

    • 活动间可以通过 Intent 对象传递数据和指定跳转目标,实现逻辑上的解耦和灵活的界面流转。

生命周期

Activity 具有明确的生命周期,即一系列有序的状态变化和对应的回调方法。理解并正确管理生命周期对于保证应用性能、避免内存泄漏和提供良好的用户体验至关重要。生命周期包括以下阶段:

  • 创建:

    • onCreate():首次创建活动时调用,用于初始化组件、设置布局、加载数据等。

    • onStart():活动对用户可见但未获得焦点时调用。

    • onResume():活动处于前台且可接受用户输入时调用。

  • 运行:

    • 在 onResume() 后,活动处于运行状态,可以直接与用户交互。

  • 暂停:

    • onPause():当另一个活动准备进入前台或系统需要暂时停止当前活动时调用。在此阶段应释放对系统资源的独占访问(如摄像头、麦克风),但不应执行耗时操作,因为这可能阻塞新的活动的启动。

  • 停止:

    • onStop():活动完全不可见时调用。在此阶段应保存持久化数据,释放更多资源。

  • 恢复:

    • onRestart()(可选):活动从停止状态重新启动时调用,发生在 onStart() 之前。

    • onStart() 和 onResume():活动再次变为可见并可接受用户输入。

  • 销毁:

    • onDestroy():活动即将被销毁且不再使用时调用。用于释放所有资源和清理工作。

注册与配置

  1. AndroidManifest.xml:

<manifest>
  <application>
    <activity android:name=".MainActivity">
      <!-- 其他配置属性 -->
    </activity>
    <!-- 其他活动声明 -->
  </application>
</manifest>
    • 所有活动必须在 AndroidManifest.xml 文件中注册,这是它们能够被系统识别和启动的前提。

    • 注册通常在 <application> 标签内部,使用 <activity> 标签声明,android:name 属性指定了活动类的全名。

  1. 配置属性:

    • android:label:指定活动的标题,显示在任务切换器或启动器中。

    • android:theme:设置活动的主题样式,影响其整体外观。

    • android:launchMode:定义活动的启动模式,如标准模式、单例模式、单任务模式等,控制同一活动实例在任务栈中的行为。

    • android:screenOrientation:设置活动的屏幕方向,如竖屏(portrait)、横屏(landscape)等。

    • android:configChanges:指定哪些系统配置变更(如屏幕方向、键盘隐藏等)不应导致活动被重新创建,而是通过回调 onConfigurationChanged() 处理。

启动模式与任务栈

  1. 启动模式:

    • Android提供了四种启动模式:标准模式(standard)、单例模式(singleTop)、单例任务栈模式(singleTask)、单实例模式(singleInstance)。选择合适的启动模式有助于管理活动在任务栈中的行为和实例化规则。

  2. 任务栈:

    • 活动按照后进先出(LIFO)的原则组织在任务栈中。用户可以通过返回键回退到前一个活动,直至退出应用;也可以通过任务切换器切换到其他任务栈中的活动。

其他特性与功能

  • ActivityForResult:

    • 使用 startActivityForResult() 启动活动时,可以期待目标活动返回结果。结果通过 setResult() 设置并在原活动的 onActivityResult() 方法中接收。

  • 生命周期回调扩展:

    • AndroidX库提供了 LifecycleOwner 接口和 Lifecycle 类,支持观察者模式来监听活动的生命周期状态变化,简化了组件间的生命周期协调。

  • Fragment:

    • 为了支持更复杂的界面设计和模块化开发,活动可以托管 Fragment,后者是具有自己生命周期的小型可重用 UI 片段。Fragment 与 Activity 一起协作,共同构建应用的界面层次。

综上所述,Android活动(Activity)是Android应用程序的核心组成部分,负责创建和管理用户界面,处理用户交互,并通过其生命周期方法与系统进行同步。理解和熟练运用活动的各种特性和最佳实践,对于构建高效、稳定且用户体验良好的Android应用至关重要。

上一篇: Android资源(Resources)管理
下一篇: Android服务(Service)组件
推荐文章
  • ReactNative开发工具涵盖了从代码编辑器、集成开发环境(IDE)、调试工具到特定功能库和辅助服务的广泛范围。以下是部分关键工具,旨在提升ReactNative开发效率、调试体验和应用性能:代码编辑器与IDEVisualStudioCode (VSCode):流行的开源代码编辑器,具有强大的插
  • ReactNative是一个开源的跨平台移动应用开发框架,由Facebook在2015年4月首次推出。其核心理念是使用一套统一的JavaScript代码库,结合React(一个用于构建用户界面的声明式、高效且灵活的JavaScript库)的编程模型,来构建原生移动应用程序,同时支持iOS和Andro
  • 微信小程序的开发工具主要包括以下几类:微信开发者工具:官方工具:这是微信官方提供的核心开发工具,是开发微信小程序的首选和必备工具。它集成了代码编辑、调试、预览、发布等功能,支持实时预览效果、模拟器测试、性能分析、远程调试等,帮助开发者高效地完成小程序的编写、测试与发布流程。官方开发者工具通常会保持与
  • 小程序简介微信小程序(英文名:WeChatMiniProgram)是由腾讯公司推出的基于微信平台的应用形态。它是一种无需用户下载安装即可使用的轻型应用程序,用户可以通过扫描二维码、搜索关键词或者在微信内通过特定入口(如发现页的小程序列表、公众号关联小程序等)直接访问。小程序以其“触手可及,用完即走”
  • Android碎片(Fragment)是Android应用程序架构中的一个重要组件,旨在支持构建适应不同屏幕尺寸和形态的应用界面。以下是关于Fragment的详细说明:概念与作用定义与性质:Fragment 是一个可以嵌入在 Activity 内部的、具有独立用户界面和生命周期的模块化组件,继承自 
  • Android服务(Service)Android服务(Service)是Android应用程序架构中的四大组件之一,它专为在后台执行长时运行任务而设计,无需与用户直接交互或显示界面。以下是关于Android服务的详细说明:概念与作用定义与性质:Service 是一个应用程序组件,继承自 andro
学习大纲