`

Android四大核心——Intent

阅读更多

Intent

       上一章我们了解了Activity,那可能有人会提出疑问,Activity之间的跳转怎样实现,或者说屏幕之间的切换怎样实现.这个疑问问得相当有水准.首先那我们先了解Androd系统中Activity之间的关系吧,它们之间的关系如下图所示:

        通过下图我们可以知道Activity之间的切换时通过调用startActivity(Intent intent)这个方法实现.它所携带的参数为Intent对象.在这里我们可以把Intent对象想象成web页面中的request对象,request对象可以携带上一个页面的信息跳转到指定的页面.同理Intent对象通过调用setClass(PageContext,Class)跳转到指定的Activity.一个Intent对象包含了以下一组信息.i.Comment name  ii.Action iii.Data  iv.Category  v.Extras vi.Flag.其中常携带的信息包括Comment name,Action,Data,Extras.在这里我们详细了解这个属性.Commnet name表示的为Intent要启动的组件名称.该组件可能是Activity,Service,广播接有收器等.Action表示启动组件要进行的动作.Data表示的为Intent携带的数据.数据形式以URI形式出现.Extras表示的Intent携带的额外信息,该信息通常以键值对形式出现. 

      Intent类描述应用的功能,在Intent的描述中,有两个最重要的部分:动作(Action)和动作对应的数据(Data)典型的动作类型有MAIN,VIEW,PICK,EDIT等,而动作对应的数据则以URI的形式表述类如,要查看一个人的联系方式,需要创建一个动作类型为View的Intent,以及一个表示这个人的URI.通过创建Intent对象,从一个屏幕跳转到另一个屏幕是很简单的.当想前导航时,Activity将会调用startActivity(Intent intent)方法,让后,系统会在所有的应用程序中定义的IntentFilter中超找,找到最匹配Intent对应的Activity.新的Activity接收到Intent通知后,开始运行.当startActivity方法调用时,将触发Intent的动作。

    

  • 大小: 39.2 KB
0
2
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics