本文主要是介绍Activity-Intent-Intent filters,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
什么事Activity??
原则上它提供使用者一个交互式的接口功能,那一个activity 只有一个ui吗?不是,可以有多个
* 所有的activity在系统里有Activity堆栈所管理,当一个新的Activity被执行后,它将会被放置到堆栈的最顶部,并且变成running Activity , 而先前的Activity 原则上还是i会存在于堆栈中,但它此时不会是在前景的情况下,除非刚刚那个新的Activity
Intent与Intent filters
Android使用了一个很特别的类Intent, 用来从一个画面跳另外一个画面,Intent是用来描述一个程序想要做些什么事情。在Intent的数据结构中有两个重要的部分,一个是动作(action)及对数据产生反应(data to act upon). Action 主要的内容有Main(程序的入口),VIEW, PICK,EDIT等等。Data 则是用url的形式来表示。比如:想要查看一个人的联络数据时,你需要建立一个intent,它包含了VIEW的动作(action)及只想该人数据的uri描述句。
Intent Filter:
当Intent要求做某件事时,IntentFilter被用来描述这个Activity能够做些什么事情。比如一个Activity要能够显示个人联络数据,你就必须要在intentFilter说明你要如何处理个人联络数据,并用ACTION_VIEW呈现出来。IntentFilter都会在AndroidManifest.xml
清单里面声明。
intent 和activity
* * 画面切来切去则是由resolving Intent 来实现的。当你想产生新的画面时,现行的activity就用startActivity(myIntent) .然后系统就会根据所有已经安装的程序所有已经定义的intent filter 来看那个程序是最适合myIntent。当startActivity 被呼叫时,resolving Intents的处理过程是伴随而来的。Resoving Intent 提供我们两个好处:
* 让Activities 可以很容易的利用Intent的方式去使用别的程序的功能
* activities 可以很容易的在任何情况下由新的Activity所取代
看看下面的代码:
这篇关于Activity-Intent-Intent filters的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!