5.Android学习之Android应用核心Intent(一)

目录5.Android应用核心Intent(一)1.初识Intent1-1.Intent概述1-2.Intent的基本应用2.Intent种类2-1.显式Intent2-2.隐式Intennt5.Android应用核心Intent(一)1.初识IntentIntent中文意思为“意图”。它是Android程序中传输数据的核心对象,在Android官方文档中,对Intent的定义是执行某操作的一个抽象描述。它可以开启新的Activity,也可以发送广播消息,或者开启
摘要由CSDN通过智能技术生成

目录

5.Android应用核心Intent(一)

1.初识Intent

1-1.Intent概述

1-2.Intent的基本应用

2.Intent种类

2-1.显式Intent

2-2.隐式Intennt


5.Android应用核心Intent(一)

1.初识Intent

Intent中文意思为“意图”。它是Android程序中传输数据的核心对象,在Android官方文档中,对Intent的定义是执行某操作的一个抽象描述。它可以开启新的Activity,也可以发送广播消息,或者开启Service服务。

1-1.Intent概述

一个Android程序主要是由Activity、 Service 和BroadcastReceiver三种组件组成,这三种组件是独立的,它们之间可以互相调用、协调工作,最终组成一个真正的Android程序。这些组件之间的通信主要由Intent协助完成。Intent 负责对应用中一次操作的Action (动作)、Action涉及的Data (数据)、Extras(附加数据)进行描述,Android则根据Intent的描述找到对应的组件,将Intent传递给调用的组件并完成组件的调用。因此,Intent 在这里起着一个媒体中介的作用,专门提供组件间互相调用的相关信息,实现调用者与被调用者之间的解耦。

1-2.Intent的基本应用

Intent是一个可以从另一个应用程序请求动作的消息处理对象。它可以实现组件间的通信,主要有以下3种基本应用:

◆开启Activity

通过将一个Intent对象传递给startActivity()方法,可以启动一个新的 Activity,并且还可以携带一些必要的数据。 另外,也可以将Intent对象传递到startActivityForResult()方法中,这样,在需要获取返回结果时,就可以在调用它的Activity的onActivityResult()方法中接收返回结果了。

◆开启Service

通过将一个Intent 对象传递给startService() 方法,可以启动一个 Service来完成一次操作(如下载文件)或者传递个新的指令给正在运行的Service。 另外,将一个Intent 对象传递给bindService()方法,可以建立调用组件和目标服务之间的连接。

◆传递Broadcast(广播)

通过任何一个广播方法(如sendBroadcast()、sendOrderedBroadcast() 或sendStickyBroadcast()方法等),都可以将广播传递给所有感兴趣的广播接收者。

注: Android 程序会自动查找合适的Activity、 Service 或者BroadcastReceiver来响应Intent(意图),如果初始化这些消息的系统之间没有重叠,那么BroadcastReceiver的意图只会传递给广播接收者,而不会传递给Activity或Service。

2.Intent种类

Intent可以分成显式Intent和隐式Intent两种。

2-1.显式Intent

显式Intent是指在创建Intent对象时就指定接收者(Activity、 Service 或者BroadcastReceiver),因为我们已经知道要启动的Activity或者Service的类名称。

在启动Activity时必须在Intent中指明要启动的Activity所在的类。通常情况下,在一个Android项目中,如果只有一个Activity,那么只需要在AndroidManifest.xml文件中配置,并且将其设置为程序的入口。这样,当运行该项目时将自动启动该Activity。否则,需要应用Intent和startActivity()方法来启动需要的Activity,即通过显式Intent来启动,具体步骤如下:

(1)创建Intent对象,可以使用下面的语法格式:

Intent intent = new Intent(Context packageContext, Class<?> cls)

◆intent:用于指定对象名称。

◆packageContext:用于指定一个启动 Activity 的上下文对象,可以使用Activity 名.this (如MainActivity.this)来指定。

◆cls:用于指定要启动的Activity 所在的类,可以使用Activity 名.class (如DetailActivity.class)来指定。

注:Intent位于android.content包中,

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值