为什么在Android中使用Intents?

时间:2014-01-12 04:14:53

标签: java android android-intent

我仍然不明白Intents有什么特别之处。为什么不使用新线程或只是调用函数?我想我对整个意图的看法是错误的。一个简单的代码显示为什么Intent更好或什么时候需要更好!

4 个答案:

答案 0 :(得分:3)

在Android中广泛使用Intent来从一个活动切换到另一个活动。使用意图是一种好习惯。使用意图,我们可以将值从一个活动传递到另一个活动。因此它可以用作值传递机制。它的语法也非常简单。那么为什么要考虑线程?

答案 1 :(得分:2)

Intent是异步消息,允许应用程序组件从其他Android组件请求功能。 Intent允许您与自己和其他应用程序中的组件进行交互。例如,活动可以开始外部活动以拍照。

Intent是android.content.Intent类型的对象。您的代码可以将它们发送到定义您要定位的组件的Android系统。例如,通过startActivity()方法,您可以定义应该使用intent来启动活动。 意图可以通过Bundle包含数据。接收组件可以使用此数据。

要启动活动,请使用方法startActivity(intent)。此方法在Activity扩展的Context对象上定义。

以下代码演示了如何通过意图启动其他活动。

# Start the activity connect to the
# specified class

Intent i = new Intent(this, ActivityTwo.class);
startActivity(i);

答案 2 :(得分:1)

  

为什么不使用新线程或只是调用函数?

无论您使用什么Thread,仍然需要有一种机制来指导消息,这是Intent所做的。这是一种发送消息的方式。现在,需要在UI Thread上调用它或者传递适当的Context因为它需要它来发送消息。叫什么功能?你是。它调用Intent类的构造函数。

  

一个简单的代码,显示为什么Intent更好或什么时候需要更好!

我没有简单的代码可供比较,因为我不确定你想看到什么。没有人说它比其他东西更好。至于为什么Intents被用来反对其他东西?我不知道......你不得不问Android平台的开发者。这就是他们决定使用的东西。

当需要它们时,您希望将消息从一个Activity传递到另一个或从一个应用程序传递到另一个应用程序。来自文档

  

意图是要执行的操作的抽象描述

我说“消息”,但文档说“要执行的操作的描述”(我猜可能意味着同样的事情)。您可以使用它们来启动Activity,在Activities之间传递数据等,例如告诉操作系统在启动时要做什么。为什么更好?比什么更好?这就是开发人员决定使用的内容,所以我猜你不得不问他们,但也许他们认为不是更好而是不同。

答案 3 :(得分:0)

虽然我没有例子,但Intents鼓励松散耦合组件。 它否定了构建自己的Observer设计模式并启用Inter / Intra-Application通信的必要性。