`
zhy20045923
  • 浏览: 156978 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Activity.managedQuery()分析

阅读更多
Activity.managedQuery()
获取一个包含指定数据的 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;
}
分享到:
评论

相关推荐

    android中Content Proviter的使用方法总结

    查询操作通常通过 `ContentResolver.query()` 或 `Activity.managedQuery()` 方法执行。后者除了返回 `Cursor` 对象外,还会自动管理 `Cursor` 的生命周期,例如在 Activity 暂停或销毁时关闭 `Cursor`,以防止资源...

    Android开发问题集锦第三期

    - 如果需要在Activity中查询数据,并希望数据自动随着Activity的生命周期变化而变化,则应使用`managedQuery`。 此外,如果查询的数据量较大,建议使用异步查询处理方法,如`AsyncQueryHandler`,以避免阻塞主线程...

    android读取sd卡中音乐文件列表

    接着,使用`managedQuery()`方法执行查询,其中参数包括外部内容URI、需要查询的列、筛选条件、分组方式以及排序方式。这里我们没有进行分组和排序,因此传入`null`。 ```java Cursor cursor = this.managedQuery( ...

    Android平台开发技巧大全.pdf

    这篇文档“Android平台开发技巧大全”似乎是一系列关于Android开发实例分析的集合,旨在帮助开发者通过实践来深入理解Android开发的核心概念。 首先,文章从一个简单的入门实例开始,以Android自带的记事本程序为例...

    Android基础ContentProviderPPT学习教案.pptx

    此外,Activity的managedQuery()方法可以自动管理Cursor的生命周期,简化开发者的工作。 五、处理查询结果 在得到Cursor后,通过移动游标并使用getColumnIndex()方法获取指定列的索引,然后使用getString()等方法...

    Content Provider

    // 使用 ContentResolver 或 Activity 的 managedQuery 方法查询数据 Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, 5); // 指定 ID 的 URI Cursor cursor = getContentResolver().query(uri, null, ...

    Android实例剖析笔记

    - **实例分析**:通过具体的应用实例,如NotesListActivity,学习如何在Android应用中集成各种组件和技术,包括活动管理、数据查询、用户界面设计等。 - **源代码阅读**:深入理解Android应用的内部结构和工作原理,...

    Android基础ContentProvider学习教案.pptx

    - 通常情况下,可以通过`Activity`或`Context`的方法`getContentResolver()`来获取`ContentResolver`实例。 **常用方法:** - **查询数据:** `query(Uri uri, String[] projection, String selection, String[] ...

    androidSIM

    startActivity(importIntent); ``` 这段代码展示了如何使用`Intent`启动Android系统中预设的SIM卡联系人管理界面。`Intent`是Android应用间进行通信的基本方式之一,它允许一个组件向另一个组件发送请求或数据。在...

    android摄像头启动

    Cursor cursor = managedQuery(uri, proj, null, null, null); int index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); String path = cursor.getString(index); ...

    安卓开发数据库

    Cursor c = managedQuery(uri, projection, null, null, null); // 实例化桌号下拉列表Spinner的Adapter SimpleCursorAdapter adapter2 = new SimpleCursorAdapter(this, android.R.layout.simple_spinner_item,...

    android获取相册图片和路径的实现方法

    在早期版本中,通常使用`Intent.ACTION_GET_CONTENT`,并结合`managedQuery()`来获取用户选择的图片URI。然而,从Android 4.4开始,`managedQuery()`已被废弃,取而代之的是`getContentResolver().query()`。同时,...

    信息系统集成项目经理继续教育课程11学习笔记.pdf

    查询联系人数据时,可以使用`managedQuery()`方法,它接受五个参数:URI、投影(projection,即要查询的字段)、选择条件(selection)、选择条件参数(selectionArgs)和排序顺序(sortOrder)。例如,要按姓名筛选...

    【Android】分享照片时,进入图库选取照片.doc

    Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); System.out.println("image path...

    Android onCreate( )方法详细介绍

    3. **其他初始化**:除了UI之外,还可以在此处进行一些初始化操作,例如设置数据源(如使用`managedQuery()`获取数据库数据),初始化控件状态,或者处理其他与Activity相关的重要设置。 然而,需要注意的是,`...

    android在异步任务中关闭Cursor的代码方法

    `managedQuery`方法是Android早期提供的一种方式,用于自动管理`Cursor`的生命周期,它会在Activity的生命周期事件中自动打开和关闭`Cursor`。但这种方法有局限性,当需要替换`Cursor`时,`managedQuery`就显得不够...

    android读取内存卡文件方法

    2. **执行查询**:使用`managedQuery`方法执行查询,参数依次是`contentUri`(即多媒体文件的URI)、`proj`(指定返回哪些列)、`null`(无过滤条件,表示返回所有行)、`null`(无过滤条件参数)、`null`(排序方式...

    调用Android自带日历功能

    以上代码首先定义了查询时所需的列名,然后构建了一个URI指向系统日历表,并使用`managedQuery()`方法执行查询。查询条件设置为只返回被选中的日历(`selected=1`),这样可以避免获取到用户未启用的日历。 #### 四...

Global site tag (gtag.js) - Google Analytics