Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/178.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Android内容解析器和Sqlite数据库连接进行查询之间的区别?_Android_Android Contentprovider - Fatal编程技术网

使用Android内容解析器和Sqlite数据库连接进行查询之间的区别?

使用Android内容解析器和Sqlite数据库连接进行查询之间的区别?,android,android-contentprovider,Android,Android Contentprovider,我怀疑Content resolver是如何工作的,它是否隐式地使用sqlite数据库连接进行查询,或者它是如何工作的,以及在android中使用Content resolver和sqlite数据库连接进行查询的主要区别是什么?Contentprovider/Contentresolver使用类似于sql dabase的模型: 投影:您有对sql select col1、col2等感兴趣的列,。。。。 选择或筛选:在sql WHERE表达式中查找/筛选行 Contentprovider可以通过s

我怀疑Content resolver是如何工作的,它是否隐式地使用sqlite数据库连接进行查询,或者它是如何工作的,以及在android中使用Content resolver和sqlite数据库连接进行查询的主要区别是什么?

Contentprovider/Contentresolver使用类似于sql dabase的模型:

投影:您有对sql select col1、col2等感兴趣的列,。。。。 选择或筛选:在sql WHERE表达式中查找/筛选行 Contentprovider可以通过sqLite数据库轻松实现

但是Contentprovider也可以在没有任何数据库的情况下实现

示例:media contentprovider照片、视频和音频文件是通过sqLight数据库实现的 示例:DocumentFile contentprovider用于内部内存中的文件或SD卡上、usbstick上、云中的文件。。。不是通过数据库实现的,但可以像任何其他contentresolver一样进行查询。 * 何时使用Contentproviders而不是使用原始数据库

如果您想与其他应用程序共享数据,例如电话簿conacts contentprovider 当一个应用程序必须控制其他应用程序的功能时。示例:由于android-7.0对sd卡上文件的访问受到限制,使得恶意软件的实现更加困难。其他应用程序可以使用DocumentFile提供程序/解析器
Contentprovider/Contentresolver使用类似于sql dabase的模型:

投影:您有对sql select col1、col2等感兴趣的列,。。。。 选择或筛选:在sql WHERE表达式中查找/筛选行 Contentprovider可以通过sqLite数据库轻松实现

但是Contentprovider也可以在没有任何数据库的情况下实现

示例:media contentprovider照片、视频和音频文件是通过sqLight数据库实现的 示例:DocumentFile contentprovider用于内部内存中的文件或SD卡上、usbstick上、云中的文件。。。不是通过数据库实现的,但可以像任何其他contentresolver一样进行查询。 * 何时使用Contentproviders而不是使用原始数据库

如果您想与其他应用程序共享数据,例如电话簿conacts contentprovider 当一个应用程序必须控制其他应用程序的功能时。示例:由于android-7.0对sd卡上文件的访问受到限制,使得恶意软件的实现更加困难。其他应用程序可以使用DocumentFile提供程序/解析器 ContentResolver用于选择特定的ContentProvider

内容解析器提供应用程序内容提供者的抽象,内容提供者提供基础数据源(即SQLite数据库)的抽象

ContentResolver->ContentProvider->SQLiteDatabase

我找到了一些关于内容解析器和内容提供者的合理解释。值得一读。希望这有助于进一步了解内容解析器和内容提供者

内容解析器用于选择特定的内容提供者

内容解析器提供应用程序内容提供者的抽象,内容提供者提供基础数据源(即SQLite数据库)的抽象

ContentResolver->ContentProvider->SQLiteDatabase

我找到了一些关于内容解析器和内容提供者的合理解释。值得一读。希望这有助于更多地了解内容解析器和内容提供者