Android应用程序中有四个构建块:
- Activity
- Intent Receiver
- Service
- Content Provider
1 Activity
在应用中,一个activity通常就是一个单独的屏幕。每一个activity都被实现为一个独立的类,并且继承于Activity这个基类。这个activity类将会显示由几个Views控件组成的用户接口,并对事件做出响应。
2 Intent and Intent Filters
Intent类用于描述一个应用想要做什么事。在Intent的描述结构中,有两个最重要的部分:动作和动作对应的数据。典型的动作类型有:MAIN(activity的主要入口)、VIEW、PICK、EDIT等。而动作对应的数据则以URI的形式进行表示。
当向前导航时,activity将会调用startActivity (Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter中查找,找到最匹配myIntent的 Intent对应的activity。新的activity接收到myIntent的通知后,开始运行。当startActivity方法被调用将触发解析 myIntent的动作。
3 Intent Receiver
当你希望你的应用能够对一个外部的事件做出响应,你可以使用一个Intent Receiver。Intent Receiver在AndroidManifest.xml中注册,但也可以在代码中使用 Context.registerReceiver()进行注册。当一个intent receiver被触发时,你的应用不必对请求调用intent receiver,系统会在需要的时候启动你的应用。各种应用还可以通过使用Context.broadcastIntent()将它们自己的 intent receiver广播给其它应用程序。
4 Service
Service是一段长生命周期的,没有用户界面的程序。activity会使用Context.startService()来启动一个service,通过使用Context.bindService()方法,连接到一个service上,当连接到一个service之后,我们还可以service提供的接口与它进行通讯
5 Content Provider
应用程序能够将它们的数据保存到文件中、SQL数据库中,甚至是任何有效的设备中。一个Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。