Android——「Activity、Intent、Context」

💡 原文中文,约10200字,阅读约需25分钟。
📝

内容提要

本文介绍了Android中的Activity、Intent和Context的概念。Activity是应用程序的单个屏幕,用户通过它执行任务。Intent用于在不同组件间传递信息,支持显式和隐式跳转。Context提供访问应用资源的能力。文中通过示例代码展示了如何在两个Activity间传递数据及回传信息。

🔎

延伸解读

Activity 与 Context 的继承关系解析

文章指出 Activity 继承自 Context,这使得 Activity 既能作为 UI 组件,又能访问应用资源、数据库等。这种双重身份意味着在 Activity 中可以直接使用 this 作为 Context 参数,但需注意匿名内部类中的 this 指向不同。理解这一点有助于避免资源访问错误,并合理传递 Context。

显式与隐式 Intent 的适用场景

显式 Intent 明确指定目标组件,常用于应用内部页面跳转;隐式 Intent 则通过条件匹配,适合跳转到其他应用。文章强调隐式跳转需在 Manifest 中设置过滤器,系统会遍历匹配,多个结果时让用户选择。开发者应根据跳转范围选择合适方式,确保组件间通信的灵活性与安全性。

数据传递与回传的实现要点

Intent 通过 extras(Bundle)传递数据,支持基本类型和序列化对象。回传数据需使用 startActivityForResult() 启动目标 Activity,并在 onActivityResult() 中处理返回结果。文章示例展示了如何传递字符串和自定义对象,注意对象需实现 Serializable 或 Parcelable 接口,否则无法传递。

❓

Q&A

什么是Activity在Android中的作用?

Activity是应用程序的单个屏幕,用户通过它执行任务,每个Activity都有自己的布局文件。

Intent在Android中有什么用途?

Intent用于在应用程序的不同组件之间进行通信,可以启动Activity、服务或发送广播,并传递数据。

如何在两个Activity之间传递数据?

可以通过Intent将数据附加到extras中,使用Bundle来打包数据进行传递。

Context在Android中有什么重要性?

Context提供访问应用资源的能力,允许组件获取资源、数据库等信息。

什么是显式和隐式跳转?

显式跳转是明确指定目标Activity,隐式跳转则是通过条件选择目标Activity,不需要明确指定。

如何从一个Activity返回数据到另一个Activity?

使用startActivityForResult()启动Activity,并在onActivityResult()中处理返回的数据。

🏷️

标签

➡️

继续阅读