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;
}
分享到:
相关推荐
查询操作通常通过 `ContentResolver.query()` 或 `Activity.managedQuery()` 方法执行。后者除了返回 `Cursor` 对象外,还会自动管理 `Cursor` 的生命周期,例如在 Activity 暂停或销毁时关闭 `Cursor`,以防止资源...
- 如果需要在Activity中查询数据,并希望数据自动随着Activity的生命周期变化而变化,则应使用`managedQuery`。 此外,如果查询的数据量较大,建议使用异步查询处理方法,如`AsyncQueryHandler`,以避免阻塞主线程...
接着,使用`managedQuery()`方法执行查询,其中参数包括外部内容URI、需要查询的列、筛选条件、分组方式以及排序方式。这里我们没有进行分组和排序,因此传入`null`。 ```java Cursor cursor = this.managedQuery( ...
这篇文档“Android平台开发技巧大全”似乎是一系列关于Android开发实例分析的集合,旨在帮助开发者通过实践来深入理解Android开发的核心概念。 首先,文章从一个简单的入门实例开始,以Android自带的记事本程序为例...
此外,Activity的managedQuery()方法可以自动管理Cursor的生命周期,简化开发者的工作。 五、处理查询结果 在得到Cursor后,通过移动游标并使用getColumnIndex()方法获取指定列的索引,然后使用getString()等方法...
// 使用 ContentResolver 或 Activity 的 managedQuery 方法查询数据 Uri uri = ContentUris.withAppendedId(People.CONTENT_URI, 5); // 指定 ID 的 URI Cursor cursor = getContentResolver().query(uri, null, ...
- **实例分析**:通过具体的应用实例,如NotesListActivity,学习如何在Android应用中集成各种组件和技术,包括活动管理、数据查询、用户界面设计等。 - **源代码阅读**:深入理解Android应用的内部结构和工作原理,...
- 通常情况下,可以通过`Activity`或`Context`的方法`getContentResolver()`来获取`ContentResolver`实例。 **常用方法:** - **查询数据:** `query(Uri uri, String[] projection, String selection, String[] ...
startActivity(importIntent); ``` 这段代码展示了如何使用`Intent`启动Android系统中预设的SIM卡联系人管理界面。`Intent`是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,...
在早期版本中,通常使用`Intent.ACTION_GET_CONTENT`,并结合`managedQuery()`来获取用户选择的图片URI。然而,从Android 4.4开始,`managedQuery()`已被废弃,取而代之的是`getContentResolver().query()`。同时,...
查询联系人数据时,可以使用`managedQuery()`方法,它接受五个参数:URI、投影(projection,即要查询的字段)、选择条件(selection)、选择条件参数(selectionArgs)和排序顺序(sortOrder)。例如,要按姓名筛选...
Cursor cursor = managedQuery(uri, projection, null, null, null); int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA); cursor.moveToFirst(); System.out.println("image path...
3. **其他初始化**:除了UI之外,还可以在此处进行一些初始化操作,例如设置数据源(如使用`managedQuery()`获取数据库数据),初始化控件状态,或者处理其他与Activity相关的重要设置。 然而,需要注意的是,`...
`managedQuery`方法是Android早期提供的一种方式,用于自动管理`Cursor`的生命周期,它会在Activity的生命周期事件中自动打开和关闭`Cursor`。但这种方法有局限性,当需要替换`Cursor`时,`managedQuery`就显得不够...
2. **执行查询**:使用`managedQuery`方法执行查询,参数依次是`contentUri`(即多媒体文件的URI)、`proj`(指定返回哪些列)、`null`(无过滤条件,表示返回所有行)、`null`(无过滤条件参数)、`null`(排序方式...
以上代码首先定义了查询时所需的列名,然后构建了一个URI指向系统日历表,并使用`managedQuery()`方法执行查询。查询条件设置为只返回被选中的日历(`selected=1`),这样可以避免获取到用户未启用的日历。 #### 四...