Android培训之Android应用程序的运行机制(二)

2016-02-01 16:38:40 394浏览

        本篇文章将持续上一篇文尾提到的android培训中android开发应用程序的运行机制这一问题。

        Android系统使用了Intent这个特殊类,来实现应用程序显示界面之间的切换。相对于Intent是一个有效的动作请求,与之产生关系的另一个类为意图过滤器(intentFilter)。IntentFilter是用于描述一个Activity(或者其他IntentReeeiver)能够接受并响应哪些类型的Intent。

        假设android开发者需要一个显示电话簿甫联系人内容的Activity,则他就要需要声明一个IntentFilter。这个IntentFilter需要知道怎么去处理查看(Ⅷw)动作以及其含有的联系人URI。开发者可以在AndroidManifest.xml中定义IntentFilter。通过解析各种类型Intent,应用程序从一个画面切换到另一个画面就变得很简单。当切换当前组件时,Activity将会调用startAetivity(IntentmyIntent)方法。然后,Android系统会在所有安装的应用程序所定义的IntentFilter中查找,直到找到最佳匹配的Intent并调用其对应的Activity。刚刚执行的Activity就会接收到myIntent的通知,然后开始运行。当StartAetivityO方法被调用时,将触发解析myIntent的动作。这样的运行机制存在两个关键优点:

    ·Activities能够被重复利用。Android系统可以从其他组件中以Intent的形式调用它们。

    ·Activities可以在任何时候被一个具有相同IntentFilter的Activity取代。

        当开发者希望应用程序能够对一些外部事件做出响应,例如当接收短信时、电话呼入时、数据网络可用时或者到了晚上时,则可以使用一个Intent Receiver对象实例来完成。虽然IntentReceiver在其关注的事件发生时,会使用Notification Manager来通知用户,但它并不能生成一个用户可以见到的显示界面UI。Intent Receiver需要开发者在AndroidManifest.xml中注册,同时也可以在代码中使用Co_atext.registerReeeiver0方法进行注册。当一个Intent Receiver被触发时,开发者并不需要自己请求Intent Receiver调用应用,Android系统会在需要的时候自动启动应用程序。另外,应用程序还可以通过使用Context.broadeastintentO将它们自己的Intent Receiver广播给其他应用程序。

        扣丁学堂作为国内口碑最好的Android培训机构,开设免费Android开发视频课程,课程内容从android开发入门环境搭建到android开发实战项目训练,课程最基础内容细化java初级语言,0基础学android开发也行,如果你对android开发也有兴趣,欢迎前来扣丁官网阅览咨询。

标签:

热门专区

暂无热门资讯

课程推荐

微信
微博
15311698296

全国免费咨询热线

邮箱:codingke@1000phone.com

官方群:148715490

北京千锋互联科技有限公司版权所有   北京市海淀区宝盛北里西区28号中关村智诚科创大厦4层
京ICP备12003911号-6   Copyright © 2013 - 2019

京公网安备 11010802030908号