美文网首页
Content Provider

Content Provider

作者: 生儿育女一辈子 | 来源:发表于2016-06-17 17:17 被阅读213次

Android学习笔记(3)————Android四大组件之三(Content Provider)(代码示例待补全)

Android中ContentProvider组件详解

【Android】Uri、UriMatcher、ContentUris详解

ContentProvider与ContentResolver使用

安卓ContentResolver的query参数说明

Cursor c = getContentResolver().query(uri, projection, selection, selectionArgs, sortOrder);

参数:

uri, 用于 Content Provider 查询的 URI,也就是说从这个 URI 中获取数据。

例如:

Uri uri = Contacts.People.CONTENT_URI;//联系人列表URI。

projection, 用于标识 uri 中有哪些 columns 需要包含在返回的 Cursor 对象中。

例如:

//待查询的columnsString[] projection = {

Contacts.PeopleColumns.NAME,

Contacts.PeopleColumns.NOTES

};

selection, 作为查询的过滤参数(过滤出符合 selection 的数据),类似于 SQL 中 Where 语句之后的条件选择。

例如:

String selection = Contacts.People.NAME + “=?” //查询条件

selectionArgs, 查询条件参数,配合 selection 参数使用。

例如:

String[] selectionArgs = {“Braincol”, “Nixn.dev”};//查询条件参数

sortOrder,查询结果的排序方式(按查询列( projection 参数中的 columns )中的某个 column )排序)。

例如:

String sortOrder = Contacts.PeopleColumns.NAME; //查询结果的排序方式(按指定的查询列排序)

返回值:

一个包含指定数据的 Cursor 对象。

示例:

Uri uri = Contacts.People.CONTENT_URI;

String[] projection = { Contacts.PeopleColumns.NAME,

Contacts.PeopleColumns.NOTES

};

String selection = Contacts.PeopleColumns.NAME + "=?";

String[] selectionArgs = { "Braincol","Nixn.dev" };

String sortOrder = Contacts.PeopleColumns.NAME;

//使用 managedQuery 获取 Contacts.People 这个 ContentProvider 的 Cursor。

Cursor cursor = managedQuery(uri, projection, selection, selectionArgs,sortOrder);

上述示例的含义就是:在联系人列表中查询 NAME 为 Braincol 和 Nixn.dev 两个联系人的 "NAME" 和 "NOTES" 信息,并且将这些信息按照名字( NAME )排序,最后将排序之后的结果包装在一个 Cursor 对象中返回。

android.content.ContentValues保存将插入的单一记录的值。ContentValues是一个键/值对字典。

例如:

//将记录填充到ContentValues

ContentValues values = new ContentValues();

values.put("title","New note");

values.put("note","This is a new note");

//告诉android.content.ContentResolver使用URI插入记录

ContentResolver contentResolver = new ContentResolver(); //获取ContentResolver的引用

Uri newUri = contentResolver.insert(Notepad.notes.CONTENT_URI,values);//返回的newUri的结构:Notepad.notes.CONTENT_URI/new_id

//获取对文件输出流的引用

OutputStream outStream = contentResolver.openOutputStream(newUri);

someSourceBitmap.compress(Bitmap.CompressFormat.JEPG, 50, outStream);

outStream.close();

相关文章

  • 2. IPC机制之ContentProvider

    1-Content Provider Basics2-Creating a Content Provider3-S...

  • 2018-09-02学习笔记

    Content Provider 总结: 跨程序共享数据——Content Provider 之 运行时权限解析以...

  • Content Provider

    Android学习笔记(3)————Android四大组件之三(Content Provider)(代码示例待补全...

  • Content Provider

    导读 内容提供器(Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,目前,使用内容...

  • 第六章(内容提供器-Content Provider)

    内容提供器(Content Provider) 内容提供器简介: Content Provider主要用于在不同的...

  • Content Provider入门

    基本概念 1.什么是Content Provider(内容提供器) Content Provider主要用于在不同...

  • Android Content Provider(内容提供者)

    什么是Content Provider Content Provider使用基于数据模型的简单表格来提供其中的数据...

  • Content Provider总结

    Content Provider是什么 组件Content Provider是为了在不同应用程序之间进行数据交换的...

  • Android Content provider

    manifest配置provider 继承content provider 数据库实体 数据库操作 数据库初始化 ...

  • Content Provider笔记

    参考: 内容提供程序基础知识 创建内容提供程序 一. 用途: 跨程序共享数据(为其他应用程序提供访问数据的接口) ...

网友评论

      本文标题:Content Provider

      本文链接:https://www.haomeiwen.com/subject/hxevdttx.html