当前位置

网站首页> 程序设计 > 开源项目 > 程序开发 > 浏览文章

android四大组件小整

作者:小梦 来源: 网络 时间: 2024-03-20 阅读:

原文来自http://www.jianshu.com/p/478a34af17df

所谓的android四大组件一次是Activity、Service、BroadcastReceiver和ContentProvider。

Activity

这是android中最重要的一个组件,一个Activity可以理解为一个界面,所有的业务逻辑代码和功能实现代码都会写在这个里面,它负责与用户进行界面交互,正如它的名字“行动”就是说你的app要想行动起来必须要依靠activity。

Service

service本质上其实和activity相差无几,唯一的区别就是service没有界面,他是在后台运行的,大部分的app除了看得到的app还有很多service在后台运行。

BroadcastReceiver

这个东西就如它的名字所示是一个广播消息接收者,从逻辑来看,它特别想android的事件监听器,与监听器不同的是普通的事件监听器监听的事件源是程序中的对象,可是BroadcastReceiver监听的是android应用中的其他组件。它的主要作用时当某个时刻向其他activity和service进行广播,让监听这个广播的组件根据广播内容进行相关的操作。

ContentProvider

最后这个东西负责android应用之间数据交换,通常与ContentResolver配合使用一个应用程序使用ContentProvider暴露数据另一个程序使用ContentResolver来访问数据,比如我们要开发发送短信的程序当发送短信时需要从联系人管理应用中读取指定联系人的数据,此时通讯录需要提供一个Uri,ContentResolver根据Uri去访问操作指定数据。

开发一个ContentProvider很简单:

  1. 定义自己的ContentProvider类,该类需要继承android提供的ContentProvider基类;

  2. 在AndroidManifest里面注册这个ContentProvider,注册的时候需要为他绑定一个Uri(android:authorities=“。。。。。。。”);

  3. ContentProvider为了暴露自己的数据需要提供以下几个方法:onCreate()、insert()、delete()、update()、query()、getType()。

ContentProvider开发完了需要开发一个ContentResolver来操作ContentProvider暴露的数据:

  1. 利用getContentResolver()方法获取ContentResolver对象;

  2. 调用insert()、delete()、update()、query()方法来操作数据;

网友最爱