首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

ContentProvider 源码分析

ContentProvider 简介 ContentProvider 作为 Android 四大组件中的一种,为我们提供了不同进程甚至是不同应用程序之间共享数据的机制。...ContentProvider 的生命周期默认在 Application onCreate() 之前,而且都是在主线程创建的,这和其他四大组件是不同的 ContentProvider 多进程模式,它可以和...ContentProvider 、 ContentResolver 、 ContentObserver 之间的关系 ContentProvider 内容提供者,用于对外提供数据 ContentResolver.notifyChange...ContentProvider 创建源码分析 ContentProvider 启动会伴随进程的启动,在ActivityManagerService中,启动进程是由startProcessLocked方法来完成的...通过ClassLoader进行加载ContentProvider,完成ContentProvider对象创建 final java.lang.ClassLoader cl = c.getClassLoader

60620

ContentProvider初探

引言 我们什么时候 会用到ContentProvider呢? 1.我们想在自己的应用中访问别的应用,或者说一些ContentProvider暴露给我们的一些数据, 比如手机联系人,短信等!...我们想对这些数据进行读取或者修改,这就需要用到ContentProvider了!...使用系统提供的ContentProvider 其实很多时候我们用到ContentProvider并不是自己暴露自己的数据,更多的时候通过 ContentResolver来读取其他应用的信息,最常用的莫过于读取系统...的初探就到这里,我们学习了: ContentProvider的概念以及流程,使用系统提供的一些ContentProvider,以及定制自己的ContentProvider, 最后还讲解了通过ContentObserver...监听ContentProvider的数据变化,ContentProvider的内容就掌握得差不多 了.

48630

Android中ContentProvider简介

,借助contentprovider对数据进行增删该查,上层利用Android组件进行交互。...于是想着给自己新写的项目也添加个contentProvider来学习Android谷歌工程师的高大上,但从未用过contentprovider,这是第一次用,用完之后就发现一个问题 第一,contentprovider...contentprovider 第三,如果是一个程序间进行数据修改,完全可以自己集成一个提供增删改查的方法 所以呢,在你决定使用contentprovider之前先要看看你是否有使用它的必要。...在解决问题之前,首先要分析问题,先动脑然后再动手 尽管如此,我还是依旧学习了一些contentprovider的用法,不为用在项目中,只是为了完善自己的知识体系。...可以看到这样集成在每次调用时会超级麻烦,还不如自己集成的,所以如果是一个应用之间数据增删该查,不建议你使用contentProvider 如果看过我以前的博客的可以发现我早在半年前就打算去总结一个contentprovider

67160

Android中ContentProvider的用法

的时候就被废除了,那么现在要在不同的Android程序之间共享数据的话就只能通过ContentProvider(内容提供器)来实现了(排除你是黑客的前提下)。...首先,如果要访问一个应用程序通过ContentProvider共享的数据,一定要借助ContentResolver类,我们可以通过Context类的getContentResolver()方法获取ContentResolver...和数据库操作不同的是,ContentResolver类的这些操作都不是通过数据库表名进行的,而是通过传入ContentProvider共享数据的Uri(统一资源标识符,通过它可以找到任何文件所处的位置)...sortOrder) 第一个参数是要查询的数据所在数据表的Uri,第二个参数是要查询的具体列的信息,第三第四个参数是要查询的数据满足的条件, 第五个参数是查询结果的排序方式 下面通过一个小例子来理解: 通过ContentProvider...来读取联系人信息并且建立自定义的ContentProvider,新建一个Android工程: main_activity.xml: <LinearLayout xmlns:android="http

2K10

ContentProvider使用方法详解

本篇文章主要介绍 开发中的部分知识点,通过阅读本篇文章,您将收获以下内容: ContentProvider 获取联系人信息的方法 获取短信内容的方法 ContentResolver 内容解析者 ContentObserver...内容观察者 ContentProvider ContentResolver ContentObserver 三者关系 我们不是牛逼的程序员,我们只是程序开发中的垫脚石。...ContentProvider 实现ContentProvider 继承关系 四大组件之一,必须在Androidmainfest.xml 中注册 注意 : URI 中的元素 android:authorities...="ProgramAndroid" 继承 ContentProvider 实现增删改查等方法 提供对外提供操作的数据库方法 其他APK 访问此ContentProvider 数据库的方法 注意 : //...ContentProvider ContentResolver ContentObserver 三者关系 三者关系图如下 关系图.png 至此,本篇已结束,如有不对的地方,欢迎您的建议与指正。

757100

ContentProvider再探——Document Provider

概述 通过ContentProvider初探相信你已经知道如何去使用系统提供的ContentProvider或者自定义ContentProvider了, 已经基本满足日常开发的需求了,有趣的是,我在官方文档上看到了另外这几个...Framework(SAF):存储访问框架,4.4 API 19 以后引入的一个新玩意,为用户浏览手机中的 存储内容提供了便利,可供访问的内容不仅包括:文档,图片,视频,音频,下载,而且包含所有由 由特定ContentProvider...使用 1)SAF框架的组成: Document provider:一个特殊的ContentProvider,让一个存储服务(比如Google Drive)可以 对外展示自己所管理的文件。...所维护的内容 支持多用户以及临时性的内容服务,比如USB storage providers只有当驱动安装成功才会出现 2)概述: SAF的核心是实现了DocumentsProvider的子类,还是一个ContentProvider

89130
领券