Android应用的四大基本组件介绍

看了这么多JavaSE的基础内容,突然回头看Android感觉好陌生。


Android应用通常由一个或多个基本组件组成。(其实这里的组件我就觉得是一个很不清楚的概念,先把组件和UI组件和控件统称为组件,基本组件不在其中)

四大基本组件:Activity,Service,BroadcastReceive,ContentProvide。接下来我们一个一个简单介绍一下。


Activity

Activity是Android应用中负责与用户交互的组件。

View类是所有UI控件、容器控件的基类。View就是Android应用中用户实实在在看到的部分。

Activity为Android应用提供了可视化用户界面,如果该Android应用需要多个用户界面,那么这个Android应用将会包含多个Activity,多个Activity组成Activity栈,当前活动的Activity位于栈顶。

(简单的来说该基本组件就是我们实际操作的界面)


Service

Service与Activity的区别在于:Service通常位于后台运行,它一般不需要与用户交换,因此Service组件没有图形用户界面。

与Activity基本组件需要继承Activity基类相似,Service基本组件需要继承Service基类。一个Service组件被运行起来之后,它将拥有自己独立的生命周期,Service基本组件通常用于为其他组件提供后台服务或监控其他组件的运行状态。

(简单的说就是同程序后台运行的程序,生命周期还不清楚)


BroadcastReceiver

顾名思义,BroadcastReceive代表广播消息接收器。从代码的实现角度来看,BroadcastReceive非常类似于事件编程中的监听器。与普通事件监听器不同的是,普通事件监听器监听的事件源是程序中的对象,而BroadcastReceive监听的事件源是Android应用中的其他组件。

使用BroadcastReceive基本组件接收广播消息比较简单,开发者只要实现自己的BroadcastReceive子类,并重写onReceive(Context context,Intent intent)方法即可。当其他组件通过sendBroadcast()、sendStickyBroadcast()、sendOrderedBroadcast()方法发送广播消息时,如果该BroadcastReceive也对该消息"感兴趣"(通过IntentFilter配置),BroadcastReceive的onReceive(Context context,Intent intent)方法将会被触发,

开发者实现自己的BroadcastReceive之后,通常有两种方式来注册这个系统级的“事件监听器”。

  • 在Java代码中通过Content.registReceiver()方法来注册BroadcastReceive。
  • 在AndroidManifest.xml文件中使用<receiver..../>元素完成注册。

(比以前明白了很多东西,不过也遗忘了很多,到底他怎么使用规则是社么,以后再详细介绍)


ContentProvider

对于Android应用而言,它们必须互相独立,各自运行在自己的进程中,如果这些Android应用之间需要实现实时的数据交换——例如,我们开发了一个短信的程序,当发送短信时需要从联系人管理应用中读取指定联系人的数据——这就需要多个应用应用程序之间进行数据交换。

Android系统为这个跨应用的数据交换提供了一个标准:ContentProvider。当用户实现自己的ContentProvider时,需要实现如下抽象方法。

insert(Uri,ContentValues):向ContentProvider插入数据

delete(UriContentValues):删除ContentProvider中指定数据

update(UriContentValues,String,String[ ]):更新ContentProvider中指定数据

query(UriString[ ]StringString[ ]String):从ContentProvider查询数据

通常与ContentProvider结合使用的是ContentResolver。一个应用程序使用ContentProvider暴露自己的数据,而另一个应用程序则通过ContentResolver来访问数据。




仔细学习了java基础之后再看这个,很多东西看的都很明白,

但是他们个各自的规则我还没熟悉,不过这是一个好的开始。加油!!!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值