我仍然不明白Intents有什么特别之处。为什么不使用新线程或只是调用函数?我想我对整个意图的看法是错误的。一个简单的代码显示为什么Intent更好或什么时候需要更好!
答案 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通信的必要性。