Android中的Intent是什么? 有人能举个例子吗? intent的类型是什么,我们为什么要使用它们? 为什么intent在Android中如此重要?
当前回答
Android的意图
Android Intent让你从一个Android活动导航到另一个。通过示例,本教程还讨论了各种类型的Android意图。
Android Intent可以定义为一个简单的消息对象,用于从一个活动通信到另一个活动。
意图定义应用程序的意图。它们还用于在活动之间传输数据。
一个Android Intent可以用来执行以下3个任务:
从当前活动打开另一个活动或服务 在活动和服务之间传递数据 将责任委托给另一个应用程序。例如,你可以 使用intent打开浏览器应用程序以显示URL。
意图大致可以分为两类。这个类别没有关键字,只是对android意图的使用进行了广泛的分类。
明确的Android意图
显式Android Intent是你显式定义Android系统需要调用的组件的Intent。
Intent MoveToNext = new Intent (getApplicationContext(), SecondActivity.class);
隐含的Android意图
隐式Android意图不是定义确切的组件,而是定义你想要执行的动作。处理这个操作的决定留给了操作系统。操作系统决定哪个组件最适合用于隐式目的。 让我们看一个例子:
Intent sendIntent = new Intent();
sendIntent.setAction(Intent.ACTION_SEND);
欲了解更多信息,请访问下面
http://developer.android.com/reference/android/content/Intent.html
其他回答
Intent是一个类,用来绑定执行某些操作的信息。
示例:当用户在活动中执行此类操作时,将数据从一个活动传递给另一个活动
目前的活动。
根据他们的文件:
Intent是一个在独立组件(比如两个活动)之间提供运行时绑定的对象。Intent表示应用程序的“做某事的意图”。你可以在各种各样的任务中使用intent,但最常见的是它们被用来启动另一个活动。
下面是示例链接: http://developer.android.com/training/basics/firstapp/starting-activity.html#BuildIntent
正如文档所描述的,为了启动一个活动(你还需要理解什么是活动),使用如下的意图
/** Called when the user clicks the Send button */
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
来自2013年Android构建者峰会上关于Android IPC/Binder框架的深入研究
在一些短小而有效的语句中可以理解其意图
Android supports a simple form of IPC(inter process communication) via intents Intent messaging is a framework for asynchronous communication among Android components (activity, service, content providers, broadcast receiver ) Those components may run in the same or across different apps (i.e. processes) Enables both point-to-point as well as publish subscribe messaging domains The intent itself represents a message containing the description of the operation to be performed as well as data to be passed to the recipient(s).
在这篇文章中,android架构师Dianne Hackborn给出了一个简单的答案,即它实际上是一个数据容器。
从android架构的角度来看:
Intent是一个用于进程间通信的数据容器。从android架构的角度来看,它是建立在Binder之上的。
意图用于从一个活动启动另一个活动。它主要用于几个目的,例如从一个活动向另一个活动发送数据,以及用于触发目的。
它们基本上有两种类型
隐式意图。 明确的意图。
作为一个初学者,我知道这些,我认为这将给一些关于机器人意图的基本概念
一个Android应用程序可以包含零个或多个活动。当应用程序有多个活动时,通常需要从一个活动导航到另一个活动。在Android中,你通过所谓的意图在活动之间导航。你可以通过使用putExtra()将一些数据传递给你想要通过intent启动的活动。
推荐文章
- 如何设置RecyclerView应用程序:layoutManager=""从XML?
- 在没有开发服务器的情况下在设备上构建和安装unsigned apk ?
- 操作栏和新引入的工具栏有什么不同?
- 调整浮动动作按钮图标大小(fab)
- Android Studio无法找到有效的Jvm(与MAC OS相关)
- android:在触摸移动时移动视图
- 如何以编程方式将ID分配给视图?
- 如何解决INSTALL_FAILED_DEXOPT错误?
- 有没有办法自动安装Android SDK ?
- 如何检查一个视图在Android中是否可见?
- Android是否保留。apk文件?如果有,在哪里?
- 在Android 5棒棒糖中,通知栏图标变成白色
- 从URI获取真实路径,Android奇巧新的存储访问框架
- 如何检查JSON键是否存在?
- ImageView -有高度匹配宽度?