android四大组件小整

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

Activity

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

Service

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

Service有两种其中方法:

startService():通过该方法启动service访问者与service之间没有关联,即访问者退出后,service仍然运行;

bindService():通过该方法启动service访问者与service之间有关联,访问者退出后,service也会终止。这种方法可以在访问者和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()方法来操作数据;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,641评论 25 708
  • android四大组件:Activity,Service,BroadcastReceiver和ContentPro...
    毹毹阅读 2,471评论 0 9
  • HandlerThread是一个Android 已封装好的轻量级异步类。HandlerThread本质上是一个线程...
    kjy_112233阅读 1,341评论 0 9
  • 本文主要搜集记录一下Android开发的四大组件:一、Activity详解二、Service详解三、Broadca...
    AFinalStone阅读 626评论 0 2
  • 我自小胆大包天,似乎什么都不怕。爸爸说我“心比天大”,老师说我“给个梯子敢上天”。小时候,即使一个人走在漆黑的小路...
    关隐月阅读 342评论 0 1