应用程序组件是Android应用程序的基本构建块。 这些组件通过应用程序清单文件AndroidManifest.xml
松散耦合,该文件描述应用程序的每个组件以及它们如何交互。
在Android应用程序中可以使用以下四个主要组件:
编号 | 组件 | 描述 |
---|---|---|
1 | Activities |
它们决定了用户界面和处理用户交互的智能手机屏幕。 |
2 | Services |
它们处理与应用程序相关的后台处理。 |
3 | Broadcast Receivers |
它们处理Android OS和应用程序之间的通信。 |
4 | Content Providers |
它们处理数据和数据库管理问题。 |
Activities
Activity
用一个用户界面表示一个屏幕,简而言之 Activity
在屏幕上执行操作。 例如,一个电子邮件应用程序可能有一个Activity
,显示新电子邮件列表,另一个Activity
组成一封电子邮件,另一个Activity
阅读电子邮件。 如果应用程序具有多个Activity
,则应将其中一个标记为应用程序启动时显示的Activity
。
一个Activity
作为Activity
类的一个子类实现如下 -
public class MainActivity extends Activity {
}
Services
服务(Service
)是在后台运行的组件,用于执行长时间运行的操作。 例如,Service
可能在用户处于不同的应用程序时在后台播放音乐,或者可能通过网络获取数据而不阻止用户与Activity
交互。
Service
是作为Service
类的子类实现的,如下所示 -
public class MyService extends Service {
}
广播接收器(Broadcast Receivers)
广播接收器仅响应来自其他应用程序或系统的广播消息。 例如,应用程序也可以启动广播,让其他应用程序知道某些数据已经下载到设备中,并可供其使用,因此这是广播接收方将拦截此通信并将启动适当的操作。
广播接收器作为BroadcastReceiver
类的子类实现,每个消息作为Intent
对象广播。
public class MyReceiver extends BroadcastReceiver {
public void onReceive(context,intent){}
}
内容提供者(Content Providers)
内容提供者组件根据请求向一个应用程序提供数据。 这些请求由ContentResolver
类的方法处理。 数据可以存储在文件系统,数据库或其他地方。
内容提供者被实现为ContentProvider
类的子类,并且必须实现一组标准的API,使其他应用程序能够执行事务。
public class MyContentProvider extends ContentProvider {
public void onCreate(){}
}
我们将详细介绍这些标签,同时覆盖各个章节中的应用组件。
其他组件
在构建上述实体时,还会使用其他组件,它们的逻辑和它们之间的连线。 这些组件是 -
编号 | 组件 | 描述 |
---|---|---|
1 | Fragments |
表示Activity 中的用户界面的一部分。 |
2 | Views |
在屏幕上绘制的UI元素,包括按钮,列表形式等 |
3 | Layouts |
查看控制屏幕格式和视图外观的层次结构。 |
4 | Intents |
消息连接组件在一起。 |
5 | Resources |
外部元素,如字符串,常量和可绘制图片。 |
6 | Manifest |
应用程序的配置文件。 |