我是Android新手,目前正在阅读一本名为'Professional.Android.2.Application.Development'
的书。
我已经看到了一些开始应用程序开发的代码,我注意到大多数java代码都是由意图组成的。
我想知道为什么我们使用意图而不是事件或服务。
我所知道的意图是它们是要执行的操作的抽象描述。
我也想知道Android中意图的重要性。
任何人都可以向我解释,因为我是新人,有点困惑。
答案 0 :(得分:5)
意图基本上是在组件之间传递的消息(例如活动,服务,广播接收器 >和内容提供商)。因此,它几乎等同于传递给API调用的参数。 API调用和意图调用组件的方式之间的根本区别是:
当然,通过使用所谓的显式意图,可以使Intent完全像API调用一样工作,这将在后面解释。但通常情况下,隐含意图是要走的路,这就是这里所解释的。
想要调用另一个组件的组件必须仅表达其“意图才能完成工作。还有任何其他组件存在并声称它可以通过 intent-filters,来完成这项工作,由android平台调用来完成这项工作。这意味着,两个组件都不知道彼此的存在,并且仍然可以一起工作,为最终用户提供所需的结果。
组件之间的这种不可见的连接是通过意图,意图过滤器和android平台的组合来实现的。
这带来了巨大的可能性,如:
intent是要执行的操作的抽象描述。它可以与 startActivity 一起使用,以启动活动,broadcastIntent 将其发送到任何感兴趣的 BroadcastReceiver 组件,以及 startService(Intent) 或 bindService(Intent,ServiceConnection,int)与后台服务进行通信。
Intent提供了一种工具,用于在不同应用程序中的代码之间执行延迟运行时绑定。它最重要的用途是发起活动,它可以被认为是活动之间的粘合剂。它基本上是一个被动数据结构,包含要执行的动作的抽象描述。意图中的主要信息是:
在这个数据结构上,android是在你阅读时实现的,以下文档非常有用:
答案 1 :(得分:2)
这样一个基本问题。如果你谷歌它你会得到很多解释与例子。
无论如何Intents
用于发布activity
,Uri
。简单如果您想在android
中从一个页面移动到另一个页面,则应仅使用intent
。
对于简短的免责声明,请参阅here和this link too。
但在此之前提出问题之前,请尝试自行搜索并找到答案。
我希望这会对你有所帮助。
答案 2 :(得分:1)