Android API:Activity.managedQuery()
转自:http://www.cnblogs.com/hibraincol/archive/2010/09/27/1837162.html
描述:
获取一个包含指定数据的 Cursor 对象,并由 Activity 来接管这个 Cursor 的生命周期。
首先该函数通过调用 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);
}
return c;
}
参数:
uri, 用于 Content Provider 查询的 URI,也就是说从这个 URI 中获取数据。例如:
Uri uri = Contacts.People.CONTENT_URI; //联系人列表URI。
projection, 用于标识 uri 中有哪些 columns 需要包含在返回的 Cursor 对象中。例如:
//待查询的columns
String[] 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 API:Activity.managedQuery()相关推荐
- Android入门:Activity四种启动模式
2019独角兽企业重金招聘Python工程师标准>>> 一.启动模式介绍 启动模式简单地说就是Activity启动时的策略,在Android Manifest.xml中的标签的and ...
- Android五:Activity
生命周期: onCreate onStart onResume onPause:在该状态如果有优先级更高的程序,那此进程可能被kill;如果是被重新执行,则回到onResume状态. onStop : ...
- 应用程序基础知识:activity和intent——Android开发秘籍
应用程序基础知识:activity和intent --Android开发秘籍 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#defaul ...
- android api版本 闪退_经验分享:从事 Android 开发六年,我学到的那些事
你的代码质量应该随着经验的增加而提高,在本文作者基于 Android 开发者六年间,其都学到了什么? 以下为译文: 六年来,我为多家公司编写过各种应用程序.你编写代码或处理代码库的文化和方式会随着你的 ...
- Android 中高级面试题:Activity是如何实现LifecycleOwner的?
} 3.低版本Activity兼容Lifecycle SupportActivity是伴随Lifecycle才出现的,android.arch.lifecycle:extensions为早期还没有继承 ...
- Android零基础入门第77节:Activity任务栈和启动模式
2019独角兽企业重金招聘Python工程师标准>>> 通过前面的学习,Activity的基本使用都已掌握,接下来一起来学习更高级的一些内容. Android采用任务栈(Task)的 ...
- Android:Activity生命周期
2019独角兽企业重金招聘Python工程师标准>>> 参考: <第一行代码:Android> 郭霖(著) Activity所在的栈为后进先出(Last In First ...
- Android总结篇系列:Activity Intent Flags及Task相关属性
同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http://blog.csdn.net/liuhe688/article/details/6761337 ...
- Android零基础入门第81节:Activity数据传递
在Android开发中,经常要在Activity之间传递数据.前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据传递. 一.简介 通过前面的学习知道,Inten ...
最新文章
- 只读字符串的c语言命令,C语言只读空间 - C 语言程序设计
- 埃夫特机器人回零偏差太大_新松、华中数控、埃斯顿、埃夫特国内主流机器人厂商近年最新动态...
- 自动摘要php,修改DEDECMS文章自动摘要长度或者取掉文章摘要
- logstash-filter模块
- linux 运行unix elf,在Linux中ELF可执行问题
- 调车遇到的问题及解决办法
- LeetCode刷题(35)--Permutation Sequence
- ssis 列转换_SSIS组播转换概述
- python睡眠_Python时间睡眠()
- 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
- 歌乎:985博士生对996的困惑
- java 逆矩阵_用Java实现求逆矩阵
- linux操作系统adsl 上网设置,Linux操作系统上ADSL拨号上网的方法详解
- SQL脚本得到Epicor客制化信息
- 【渝粤题库】陕西师范大学292161社会保障概论 作业(专升本)
- 华为服务器上安装vm系统,云服务器安装vm教程
- python学习笔记(三)之字符串的处理
- 老男孩mysql运维dba实战21部完整版_老男孩Mysql DBA高级运维系列课程(16部)
- 目标检测中的mAP是什么含义?
- 黑客滥用FBI邮件服务器大规模发送虚假威胁警报,不安全编码是元凶
热门文章
- IDEA创建Meven项目
- [9]-Administration-Tuning Presto Properties Reference
- 高考540分计算机,一线老师告诉你:高三后期这么做,3个月提高30分真不难!
- Nginx——Nginx缓存集成
- Error:(vlib-35) failed to create directory
- 苹果发布 iOS14.4 正式版,各机型是否升级的建议
- uni.openDocument 微信小程序在苹果手机打开文档失败
- 【数据结构】——单链表超详细介绍(独家介绍,小白必看!!!)
- 深入理解Callback函数
- PHP 学生信息管理系统mysql数据库web结构apache计算机软件工程网页wamp