Android中的活动和意图有什么区别?

时间:2013-04-28 05:45:27

标签: android android-intent android-activity

任何人都可以向我解释Android平台上“活动”和“意图”之间的区别吗?

8 个答案:

答案 0 :(得分:49)

使用非常简单的语言,Activity是您的用户界面以及您可以使用用户界面执行的任何操作。从一个用户界面移动时,需要使用Intent启动该新用户界面。 Intent是您从第一个用户界面传递给另一个用户界面的事件的事件。

也可以在用户界面和后台服务之间使用Intent。当您想要将数据广播到所有活动和后台服务时,也会传递Intent

Intent以对象为生,活动与面孔和互动共存。希望它有所帮助。

答案 1 :(得分:20)

现有答案很好,但这里有两个链接的真正基本定义。

<强> Activity

用于显示用户界面的应用程序component。活动类是处理所有用户交互的位置(按下按钮,列表选择)。活动指定在屏幕上表示它的布局。

<强> Intent

意图是系统消息。系统周围可以broadcast通知其他应用程序(或您自己的!)事件,或者可以用它来请求系统显示新活动。

答案 2 :(得分:17)

如果您对Intent有所了解,那么当您使用它们开始新活动时,我就能理解您的困惑。

在最简单的情况下,您可以开始这样的新活动:

Intent intent = new Intent(this, SomeOtherActivity.class);
startActivity(intent);

看起来你正在开始一项活动,而你开始的活动是“意图”。但是你真正在做的是调用方法startActivity()并且你传递一个名为intent的容器。该容器告诉startActivity()该做什么。

将数据传递给新活动时,您可以更清楚地看到它

Intent intent = new Intent(this, SomeOtherActivity.class);
startActivity(intent);
intent.putExtra("ANIMAL_TYPE", "unicorn");
intent.putExtra("ANIMAL_COLOR", "ruby");
startActivity(intent);

现在当你调用startActivity()时,它会查看意图并知道它需要启动SomeOtherActivity类。此外,在SomeOtherActivity类中,您可以像这样访问那些传递的键/值对:

Bundle extras = getIntent().getExtras(); 
if(extras !=null) {
    String animal = extras.getString("ANIMAL_TYPE");
    String animalColor = extras.getString("ANIMAL_COLOR");
}

答案 3 :(得分:4)

这些是不同的类,不能以任何方式互换。 Activity子类的预期用法是控制应用程序窗口的内容和行为。另一方面,Intent是简单的数据交换结构,通常用于启动新的Activity并将数据传递给它们,但它们也有其他用途。

答案 4 :(得分:3)

Activity类负责为您创建一个(全屏或浮动)窗口,您可以在其中放置U​​I元素,以便活动与用户交互。

当您想要从一个视图(即一个活动)切换到另一个视图时,通常会使用意图。

如果您当前在ActivityOne.class中并且致电:

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

然后将向用户显示ActivityTwo。

答案 5 :(得分:0)

活动:就像网页一样。回家,联系。它包含应用程序的所有UI部分。

意图:您可以将Intent视为打开另一个活动的一种方式。它基本上有助于打开新活动以及之前活动的数据。

答案 6 :(得分:0)

尽管这里有很多很好的解释,但是我想对ActivityIntent提出自己的看法。 Activity是您在屏幕上看到的UI组件。 Intent是一个消息对象,用于请求来自同一/不同应用程序组件的操作。

enter image description here

参考IntentActivity

答案 7 :(得分:0)

活动: 活动是您在屏幕上看到的组件,具有一些相关的逻辑来管理生命周期和导航。一个应用程序将包含几个活动。从一个屏幕移动到另一个屏幕时,通常是在更改“活动”,用新的内容和控制器替换屏幕上的内容。 CHECK ACTIVITY LIFE CYCLE

内容: 活动之间的导航由意图管理。意图是一种消息,应用程序通过Android OS将其广播到手机上的相关方。