Activity.managedQuery方法获取Cursor cursor方法

Activity.managedQuery()
获取一个包含指定数据的 Cursor 对象,并由 Activity 来接管这个 Cursor 的生命周期。该方法等同于
ContentResolver#query(android.net.Uri , String[], String, String[],String)方法。

首先该函数通过调用 getContentResolver().query(uri,projection, selection, selectionArgs, sortOrder)获取一个包含指定数据(由 query 方法的参数指定)的 Cursor 对象。
然后通过调用startManagingCursor(c) 实现由 Activity 来接管返回的 Cursor c 的生命周期。

原型:
public final Cursor managedQuery(Uri uri,
String[] projection,
String selection,
String[] selectionArgs,
String sortOrder)
{
Cursor c =getContentResolver().query (uri, projection, selection,selectionArgs, sortOrder);
if (c !=null) {
startManagingCursor(c);
}
Activity.managedQuery方法获取Cursor cursor方法
returnc;
}

参数:
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();

  

爱华网本文地址 » http://www.413yy.cn/a/25101015/270714.html

更多阅读

matlab获取时间方法 获取当前时间的方法

在matlab中,为了验证比较两个算法直接的效率,需要计算某段程序的运行时间,常用的三种方法1、tic和toc命令对;此方法最接近算法的实际运行时间。tic;a=0;for i=1:100000for j=1:10000a=a+1;endendtoc;tic命令表示开启一个matlab的计时

打结的方法&部队打背包方法 打背包视频

打结的方法半结(Overhand Knot)简介:所有绳结的基本结。用途:防止滑动、或是在绳子末端绽开时可做为暂时防止继续脱线。缺点:当结打太紧或弄湿时很难解开。八字结(Figure-of-EightKnot)简介:打法简单、易记。用途:可作为一条绳上的一

原代细胞的培养方法 nk细胞培养方法

一、组织块培养法(1)按照前述方法取材,将组织剪成或切成1mm3大小的小块,并加入少许培养基使组织湿润。(2)将小块均匀涂布于瓶壁,每小块间距0.2cm~0.5cm,一般在25mL培养瓶(底面积为17.5cm2)可接种20~30小块为宜,小块放置后,轻轻翻转培养瓶,使瓶底

window.clearInterval()方法和window.setInterval()方法 setinterval方法

window.setInterval()功能:按照指定的周期(以毫秒计)来调用函数或计算表达式。语法:setInterval(code,millisec)解释:code:在定时时间到时要执行的JavaScript代码串。millisec:设定的定时时间,用毫秒数表示。返回值:定时器的ID值,可用于c

佛珠手链的打结方法 手链打结方法图解

平结吉祥结打结方法图示蛇结图示秘鲁结(项链伸缩结)这是一个基础结,项链伸缩绳就少不了它。三通佛珠的穿法1.准备好弹力线 剪刀 打火机 珠子细铜丝(细鱼线细

声明:《Activity.managedQuery方法获取Cursor cursor方法》为网友花朵朵分享!如侵犯到您的合法权益请联系我们删除