在上一节已经讲了一个项目创建完之后,项目内所包含的一些文件以及它们的一些用处,接下来我们就讲讲android应用的一些基本组件。
在android应用中我们最常用的就是Activity,那除了Activity外还有什么呢?
android应用中除了Activity外,还包括Service、BroadcastReceiver、ContentProvider等组件。
从哪里讲起,当然是Activity和View。
一、1、Activity
Activity是android应用中负责与用户交互的组件。我们能通过setContentView(View)来显示指定的组件。
2、View
View组件是所有UI控件、容器控件的基类,我们能通过调用Activity的setContentView(View),来显示View。
二、Service
Service与Activity的地位是并列的,代表一个单独的android组件。Service通常位于后台运行,它不需要与用户交互,Service组件没有图形用户界面,通常用于为其他组件提供后台服务或监控其他组件的运行状态。
三、BroadcastReceiver
BroadcastReceiver代表广播消息接收器,使用BroadcastReceiver组件接收广播比较简单,开发者只有实现自己的BroadcastReceiver子类,并重写onReceive(Context context,Intent intent)方法即可。在代码中可以通过Context.registReceiver()方法注册BroadcastReceiver或者在AndroidManifest.aml文件中使用<receiver../>元素来注册。
四、ContentProvider
对于android应用,他们是相互是独立的,那ContentProvider适用于多个android应用程序之间进行数据交换。使用ContentProvider的一些方法如下:
(1) insert(Uri,ContentValues)向ContentProvider插入数据。
(2)delete(Uri,ContentValues)删除ContentProvider中指定的数据
(3)udpate(Uri,ContentValues,String,String[])更新ContentProvider中指定的数据。
(4)query(Uri,String[],String,String[],String)从ContentProvider查询数据。
五、Intent和IntentFilter
Intent是android应用内不用组件之间通信的载体。Intent可以启动应用中另一个Activity,也可以启动一个Service组件,还可以发送一条广播消息来触发系统中的BroadcastReceiver。
Intent分为两类:
(1)显示Intent:显示Intent明确指定需要启动或者触发的组件的名称。
(2)隐式Intent:隐式Intent只是指定需要启动或者触发的组件应满足怎样的条件。android系统需要对该Intent进行解析。
今天就到这里。
滴水穿石,不是力量大,而是功夫深。