是什么在Android的活动和意图之间的区别?(What's the difference

2019-09-01 07:23发布

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

Answer 1:

在非常简单的语言, Activity是你的用户界面和任何你可以用一个用户界面做的。 当你从一个用户界面移动,你需要启动新的用户界面的Intent 。 的Intent是从第一用户界面到另一个数据一起传送您的活动。

意图可以在用户界面和后台服务之间也可以使用。 另外一个Intent ,当你想广播数据给所有活动和后台服务传递。

Intent生活为对象,活动居住着一张脸和互动。 希望这是有帮助的。



Answer 2:

现有的答案是很好,但这里是两个与一些链接的一个很基本的定义。

活动

一个应用组件 ,用于显示用户界面。 Activity类是所有用户交互的处理(按下按钮,列表选择)。 活动指定布局来代表它在屏幕上。

意图

意图是一个系统消息。 它可以广播系统通知其他应用程序周围的事件(或你自己的!),也可用于请求系统显示一个新的活动。



Answer 3:

如果你所知道的意图,就是当你用它来启动一个新的活动,然后我可以理解你的困惑。

在最简单的情况下,启动这样一个新的活动:

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

它看起来确实像你开始一个活动,并且正在启动的活动是“意图”。 但是,你真正做的是调用方法startActivity()并且您传递一个叫意图容器。 该容器告诉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");
}


Answer 4:

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



Answer 5:

Activity类需要照顾的窗口创建(全屏或浮动),为您在其中您可以将您的UI元素,使活动与用户交互。

当你想从一个视图(即一个活动)到另一个切换的意图大多使用。

如果你目前所在的ActivityOne.class你拨打:

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

然后ActivityTwo将被显示给用户。



Answer 6:

活动:它像网页如。 家里联系。 它包含应用程序的所有用户界面的一部分。

意图:你能想到的意向,以此来打开另一个活动。 它基本上有助于从以前的活动数据一起开启新的活动。



Answer 7:

虽然这里有很多好的解释,我想给我自己相对于视ActivityIntentActivity是你在屏幕上看到一个UI组件。 的Intent是用于从同一/不同的应用程序组件请求的动作的消息对象。

参考 : 意向 , 活动



文章来源: What's the difference between activity and intent in Android?