1.3 Android App 组件架构

前面讲解了Android的系统架构,而在应用层,Android的App组件架构,通常就是我们所说的Android四大组件,指的是Activity,BroadCastRecivicer,ContentProvider,和Service,他们失足成一个Android App的最基本的元素。

1.3.1    Android四大组件协同工作

Android中的四大组件的使用方法与使用场景都各不相同,但它们之间也保持着紧密的联系,你中有我,我中有你,紧密相连,秘而不可分。

           Activity作为人机交互的第一界面,负责向用户展示信息和处理结果,,而这些信息的来源可以通过资源获取,也可以通过ContentProvider 来获取其他应用的信息,或是Service从后台计算、下载、处理的结果,当然也可以通过 BroadCastReceiver 获取的广播信息。同时Android系统还提供了一个信使------intent,作为信息的传递的载体。组件于组件之间通过Intent来通讯、传递信息、交换数据,正是通过这样的一种形式,四大组件形成了各自独立而又紧密相连的关系,让整个Android系统“活” 了起来。

         Android四大组件在开发者的协调下,共同完成这开发者赋予他们的使命,他们之间没有孰优孰略,所有的组件存在的道理就是为了让程序能够更好的实现开发者的功能。当然,熟知每个组件的功能、特点、,才能在使用时运筹帷幄。在这里,大家只需要对四大组件的协同工作模式有个基本的概念即可,随着本书的讲解,大家会慢慢掌握这些组件的使用技巧。

1.3.2   应用上下文对象

         在高中的时候,语文课本上经常会出现这样的一句话--------“请联系上下文,分析这句话在文中的作用”,我们可理解为当前对象在程序中所处的一个环境,一个与系统交互的过程。

        Android系统的上下文对象,即在Context中,为我们封装了这样一个“语境”。Activity、Service、Application都是继承自Context。

        Android应用程序会在如下所示的几个时间点创建应用上下文Content。

               创建Application

               创建Activity

               创建Service

不难发现,创建Context的时机就是创建Context的实现类的时候。当应用程序第一次启动时,Android系统会创建一个Application对象,同时创建application Context,所有的组件都共同拥有这样一个Context对象,这个应用上下文对象贯穿整个应用进程的生命周期,为应用全局提供了功能和环境的支持,而创建Activity和Service组件时,系统也会给他们提供运行的上下环境,及创建Activity和Service实例的Context对象。所以跟多读者在Acticity中获取Context对象是,可以使用this,而在匿名内部内中就必须指定XXXactivity.this才可以获取该Activity的Context对象。当然,你也可以通过getApplicationContext()方法来获取整个App的Context,但是通过getApplicationContext()是获得的是整个应用的上下文引用,这与某个组件的上下文引用,在某些时候还是有区别的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 180,425评论 25 708
  • Android Studio JNI流程首先在java代码声明本地方法 用到native关键字 本地方法不用去实现...
    MigrationUK阅读 12,137评论 7 123
  • 祝天下所有父亲,节日快乐 我的父亲不爱说话,不像母亲,总会抱怨我不打电话回家。 从小到大,我和父亲的对话都特别少,...
    小强大人阅读 1,093评论 10 30
  • 写着玩 安全问题其实是很多程序员想了解又容易忽略的问题,以下介绍一些常见的安全问题和解决方案,当然有的问题使用阿...
    芒果哥哥哈阅读 10,588评论 2 5
  • 当你为一朵玫瑰而欢呼雀跃的时候,而有人在世界的另一头对面一丛的玫瑰淡然欣赏。这个世界就是这么不公平,在你千百...
    落日余晖amor阅读 298评论 0 1

友情链接更多精彩内容