6 Android应用程序的基本组成

(6 Android) Android应用程序的基本组成

Android应用程序是由组件组成的,组件可以调用相互独立的功能模块。根据完成的功能,组件可划分为四类核心组件,即Activity、Service、BroadcastReceiver和ContentProvider。

1 Activity组件

Activity是Android最重要的组件,负责用户界面的设计。Activity用户界面框架采用MVC 模式(Model View Controller) 。控制器负责接受并响应程序的外部动作;通过视图反馈应用程序给用户的信息(UI 界面反馈);模型是应用程序的核心,用于保存数据和代码。

2 Service组件

Service是Android提供的无用户界面、长时间在后台运行的组件。Android 提供了许多系统服务程序。

3 BroadcastReceiver组件

在Android系统中,当有特定事件发生时就会产生相应的广播。例如,开机启动完成、收到短信、电池电量改变、网络状态改变等。

为了通知手机用户有事件发生,在通常情况下,通知管理器(NotificationManager)会在手机的状态栏里产生一个具有提示音的通知,用户通过下滑手势可以查看相关信息。

BroadcastReceiver(广播接收者)接收来自系统或其他应用程序的广播,并做出回应。

4 ContentProvider组件

为了跨进程共享数据, Android提供了ContentProvider接口,可以在无须了解数据源、路径的情况下,对共享数据进行查询、添加、删除和更新等操作。

5 Application、Context和Intent

a.应用对象Application

当Android程序启动时系统会创建一个Application类型的对象,用来存储系统的一些信息完成数据传递、共享和缓存等操作。

Application对象的生命周期是整个程序中最长的,它的生命周期就等于这个程序的生命周期,且是全局、单例的,即在不同的Activity和Service中获得的对象都是同一个对象。

b.上下文对象Context

Activity和Service都是Context的子类,通过Context提供的方法getApplicationContext()就能获得Context对象。

BroadcastReceiver、ContentProvider并不是Context的子类,其所持有的Context都是由其他组件传递过来的。

Android组件及通信机制,如图所示。

2.png

c.意图对象Intent

Android提供轻量级的进程间通信机制Intent,使跨进程组件通信和发送系统广播成为可能,组件Activity、Service和BroadcastReceiver都是通过消息机制被启动(激活)的,其使用的消息就封装在对象Intent里。

6 Android应用程序的运行入口

在一个Android应用程序开始运行的时候,会单独启动一个进程(Process)。默认的情况下,这个应用程序中的所有组件(Activity、Service、BroadcastReceiver和ContentProvider)都会运行在这个进程里。

一个Android应用程序通常由多个Activity组成,但只有一个主Activity。在项目清单文件中使用< activity >标签注册主Activity时,还需要内嵌 < intent-filter > 、 < action> 和 < category > 标签,以此说明该Activity为Android应用程序的入口。定义一个MainActivity.java为应用的主Activity代码如下:

3.png

为应用的主`Activity代码如下:

[外链图片转存中…(img-Yf66pV3F-1583999253202)]

发布了63 篇原创文章 · 获赞 1 · 访问量 4101

猜你喜欢

转载自blog.csdn.net/chenhanhao0000/article/details/104820666