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()相关推荐

  1. Android入门:Activity四种启动模式

    2019独角兽企业重金招聘Python工程师标准>>> 一.启动模式介绍 启动模式简单地说就是Activity启动时的策略,在Android Manifest.xml中的标签的and ...

  2. Android五:Activity

    生命周期: onCreate onStart onResume onPause:在该状态如果有优先级更高的程序,那此进程可能被kill;如果是被重新执行,则回到onResume状态. onStop : ...

  3. 应用程序基础知识:activity和intent——Android开发秘籍

    应用程序基础知识:activity和intent --Android开发秘籍 v\:* {behavior:url(#default#VML);} o\:* {behavior:url(#defaul ...

  4. android api版本 闪退_经验分享:从事 Android 开发六年,我学到的那些事

    你的代码质量应该随着经验的增加而提高,在本文作者基于 Android 开发者六年间,其都学到了什么? 以下为译文: 六年来,我为多家公司编写过各种应用程序.你编写代码或处理代码库的文化和方式会随着你的 ...

  5. Android 中高级面试题:Activity是如何实现LifecycleOwner的?

    } 3.低版本Activity兼容Lifecycle SupportActivity是伴随Lifecycle才出现的,android.arch.lifecycle:extensions为早期还没有继承 ...

  6. Android零基础入门第77节:Activity任务栈和启动模式

    2019独角兽企业重金招聘Python工程师标准>>> 通过前面的学习,Activity的基本使用都已掌握,接下来一起来学习更高级的一些内容. Android采用任务栈(Task)的 ...

  7. Android:Activity生命周期

    2019独角兽企业重金招聘Python工程师标准>>> 参考: <第一行代码:Android> 郭霖(著) Activity所在的栈为后进先出(Last In First ...

  8. Android总结篇系列:Activity Intent Flags及Task相关属性

    同上文一样,本文主要引用自网上现有博文,并加上一些自己的理解,在此感谢原作者. 原文地址: http://blog.csdn.net/liuhe688/article/details/6761337 ...

  9. Android零基础入门第81节:Activity数据传递

    在Android开发中,经常要在Activity之间传递数据.前面也学习了Activity和Intent相关基础,接下来一起来学习Activity的数据传递. 一.简介 通过前面的学习知道,Inten ...

最新文章

  1. 只读字符串的c语言命令,C语言只读空间 - C 语言程序设计
  2. 埃夫特机器人回零偏差太大_新松、华中数控、埃斯顿、埃夫特国内主流机器人厂商近年最新动态...
  3. 自动摘要php,修改DEDECMS文章自动摘要长度或者取掉文章摘要
  4. logstash-filter模块
  5. linux 运行unix elf,在Linux中ELF可执行问题
  6. 调车遇到的问题及解决办法
  7. LeetCode刷题(35)--Permutation Sequence
  8. ssis 列转换_SSIS组播转换概述
  9. python睡眠_Python时间睡眠()
  10. 快速傅里叶变换(FFT):蝶形算法(CT蝴蝶、GS蝴蝶)
  11. 歌乎:985博士生对996的困惑
  12. java 逆矩阵_用Java实现求逆矩阵
  13. linux操作系统adsl 上网设置,Linux操作系统上ADSL拨号上网的方法详解
  14. SQL脚本得到Epicor客制化信息
  15. 【渝粤题库】陕西师范大学292161社会保障概论 作业(专升本)
  16. 华为服务器上安装vm系统,云服务器安装vm教程
  17. python学习笔记(三)之字符串的处理
  18. 老男孩mysql运维dba实战21部完整版_老男孩Mysql DBA高级运维系列课程(16部)
  19. 目标检测中的mAP是什么含义?
  20. 黑客滥用FBI邮件服务器大规模发送虚假威胁警报,不安全编码是元凶

热门文章

  1. IDEA创建Meven项目
  2. [9]-Administration-Tuning Presto Properties Reference
  3. 高考540分计算机,一线老师告诉你:高三后期这么做,3个月提高30分真不难!
  4. Nginx——Nginx缓存集成
  5. Error:(vlib-35) failed to create directory
  6. 苹果发布 iOS14.4 正式版,各机型是否升级的建议
  7. uni.openDocument 微信小程序在苹果手机打开文档失败
  8. 【数据结构】——单链表超详细介绍(独家介绍,小白必看!!!)
  9. 深入理解Callback函数
  10. PHP 学生信息管理系统mysql数据库web结构apache计算机软件工程网页wamp