用android的content provider实例源码
- 时间:2015年04月02日 11:45:40 来源:魔法猪系统重装大师官网 人气:12426
在Android下,查询联系人、通话记录等,需要用到content provider。但是,调用content provider时,Android框架内部是如何做的呢?
下面调用所采用的开发环境及源码都是基于Android 1.6版本。
- 概述
- 初始化content provider。这一阶段主要是参照AndroidManifest.xml,初始化content provider。注意这里只有当包含content provider的进程运行的时候,才会对该进程内所有的content provider进行初始化。其它provider是按需初始化的(后续文章会介绍该问题)。
- 调用content provider,进行数据库操作。这个调用通常发生在用户定义的Activity子类的相关接口内。调用时,首先会获取对应的content provider对象(有可能是代理对象)。然后,再调用(直接调用或者通过IBinder接口)。
- 应用进程的管理模型
Android框架内,应用程序Java代码的入口为ActivityThread.main。用来管理不同的应用的服务为ActivityManagerService。它的模型大致为:
左边为多个应用进程,每个进程中有个主线程ActivityThread.main,Looper.loop()是主线程的消息循环。所有的应用进程都是通过IBinder机制和ActivityManagerService进程进行交互的。为了能互相调用,设置了两个类:ActivityManagerNative作为客户端,用于调用ActivityManagerService中的方法。而ApplicationThread则作为服务端,暴露接口IApplicationThread供ActivityManagerService调用。ApplicationThread的作用主要是向主线程的消息循环发送特定的消息,保证ActivityManagerService的调用是异步的。
右边的ActivityManagerService是所有应用的服务进程,用于管理应用进程。启动新的应用进程时,会向zygote服务进程发送socket消息。zygote接收到消息后,则会启动新的delvik虚拟机,然后运行ActivityThread.main,启动新的应用。
- PackageManagerService
PackageManagerService也是一个服务,是用来管理手机内所有的apk包的。调用它的方式和调用ActivityManagerService是一样的,通过IBinder。它的初始化入口为PackageManagerService.main:
- Win7教程 更多>>
-
- 新手第一次u盘装系统win8怎么安装01-22
- 电脑系统升级怎么关闭01-22
- windows10升级后无法上网怎么办01-22
- 电脑无法启动,需要重新安装系统01-22
- 手机重装系统的步骤及方法01-22
- 重装系统为何如此缓慢?01-21
- 系统盘重装系统,让电脑焕然一新01-21
- 小新重装系统,让你的电脑焕然一新!01-21
- U盘教程 更多>>
-
- win11电脑截屏:按哪个键?01-22
- win11截图工具找不到怎么办01-22
- 如何关闭Win11设备更改通知01-22
- Win11自定义鼠标:个性化定制,让你的操作01-22
- win11设置打不开了怎么办01-22
- Win11如何启用GPU渲染?01-21
- 电脑升级无法达到Windows 11的要求01-21
- Win11颜色校正:提升显示效果,还原真实色01-21
- Win10教程 更多>>
-
- 网络ssid的含义及作用01-22
- CPU使用率高,如何降低系统负载?01-22
- 视频分割专家:精准剪辑,打造完美画面01-22
- 免费高效的PPT软件下载,助力您的演示文01-22
- Wi-Fi Direct:实现无线设备间的快速连接01-22
- 如何打开隐藏文件01-21
- 网络电脑:连接世界的智慧终端01-21
- 最好浏览器:提升上网体验,让你畅游互联网01-21
- 魔法猪学院 更多>>
-
- SumatraPDF:轻巧快速的PDF阅读器01-22
- CAD转换为PDF,快速高效的文件格式转换工01-22
- 高效便捷的PDF工具,助您轻松处理文档01-22
- 421文档pdf 百度网盘下载01-22
- 《最新显卡天梯图PDF下载,助你轻松选购01-22
- PDF文件转换成Word的简便方法及步骤分01-21
- 汉王pdfocr:将PDF文档转换为可编辑的文01-21
- PDF转CAD,快速精准的文件格式转换工具01-21