`

AsyncQueryHandler -->同步更新

 
阅读更多

  1. classQueryHandlerextendsAsyncQueryHandler{
  2. QueryHandler(ContentResolverres){
  3. super(res);
  4. }
  5. @Override
  6. protectedvoidonQueryComplete(inttoken,Objectcookie,Cursorcursor){
  7. mActivity.init(cursor);
  8. }
  9. }

AsyncQueryHandler--->当contentProvied发生变化时候同步更新显示就可以通过使用AsyncQueryHandler类来达到这一要求

上面的代码--->onQueryComplete()--->就是当cursor更新完之后的

  1. publicvoidinit(Cursorc){
  2. mAdapter.changeCursor(c);
  3. if(mQueryCursor==null){
  4. MusicUtils.displayDatabaseError(this);
  5. setListAdapter(null);
  6. mReScanHandler.sendEmptyMessageDelayed(0,1000);
  7. return;
  8. }
  9. MusicUtils.hideDatabaseError(this);
  10. }

如上面的当cursor变化后就把adpter中的新cursor给新的值

作用:

当查询大量数据的时候,为了不阻塞UI线程,而提供的一个AsyncQueryHandler extentd Handler

相当于我们线程中开始的handler。sendmessage()-->处理我们的东东

结束时候又handler.sendmessage()的作用一样。

不用通过线程来处理查询中费时间的事情。通过这个就可以实现。

分享到:
评论

相关推荐

    使用AsyncQueryHandler操作ContentProvider

    除了查询,AsyncQueryHandler还支持插入(startInsert())、更新(startUpdate())和删除(startDelete())操作。这些方法的使用方式类似,只是处理结果的回调方法不同。 **5. 异步操作的工作原理** ...

    Android 小积累之AsyncQueryHandler用法

    在Android开发中,异步处理数据是至关重要的,特别是在UI线程中,为了保持界面的流畅性,我们不能执行...理解并熟练使用`AsyncQueryHandler`,能够帮助开发者更好地理解和处理Android应用中的数据操作和UI同步问题。

    contentprovider异步查询帮助类:AsyncQueryHandler

    综上所述,`AsyncQueryHandler`是ContentProvider异步查询的重要工具,它简化了在后台线程执行数据库查询并安全更新UI的过程。开发者可以通过深入学习和实践,充分利用这个类来提高应用的响应速度和用户体验。同时,...

    AsyncQueryHandler 手机联系人信息读取

    `AsyncQueryHandler` 是Android系统提供的一种异步处理数据库查询的方法,特别适用于从SQLite数据库中读取大量数据,如手机联系人列表。本篇文章将深入探讨如何使用`AsyncQueryHandler`来实现手机联系人信息的异步...

    QuickContactBadge和AsyncQueryHandler实现联系人列表

    本代码是QuickContactBadge和AsyncQueryHandler实现联系人列表的完美实现,对初级程序员会有很大的帮助,可以直接拿来用,还带了首字母拼音的滑动栏,里面有自定义控件可以让你好好学习

    AsyncQueryHandler及ContentProvider代码实例

    在Android开发中,`AsyncQueryHandler` 和 `ContentProvider` 是两个非常重要的组件,它们用于高效、异步地处理数据库查询,并将结果显示到UI上,如ListView等。本篇文章将详细解析这两个组件以及相关的Adapter用法...

    Android使用AsyncQueryHandler实现获取手机联系人功能

    // 如果涉及到更新操作,可以在这里处理 } @Override protected void onDeleteComplete(int token, Object cookie, int result) { // 如果涉及到删除操作,可以在这里处理 } }; // 启动查询,这里的uri...

    黑马程序员 安卓学院 万元哥项目经理 分享220个代码实例

    |--AsyncQueryHandler之异步查询Cursor处理 |--AutoCompleteTextView自动提示的用法 |--BitMap、Drawable、inputStream及byte[] 互转 |--ContentProvider内容提供者定义 |--DatePicker日期控件 |--desktop |--Dialog...

    Android自学笔记-13-ContentObserver内容观察者

    - Android 4.4(API级别19)引入了AsyncQueryHandler,它与ContentObserver配合使用,可以在后台线程中处理数据查询,避免阻塞主线程。 6. **使用LiveData和ViewModel**: - 在现代Android开发中,谷歌推荐使用...

    android AlphabetListView

    为了提高用户体验,我们可以在后台使用`AsyncQueryHandler`加载数据,加载完毕后再更新`AlphabetListView`。这样,即使数据量很大,也不会阻塞UI线程。具体步骤如下: 1. 创建一个`AsyncQueryHandler`实例。 2. 在`...

    Android-QuickSearchBox程序源码.zip

    这一功能通过`AsyncQueryHandler`实现,它是异步处理数据库查询的工具类。在`SuggestionsProvider`中,`onStartQuery()`和`onStartUpdate()`方法处理查询和更新请求,`onQueryComplete()`则在后台线程完成查询后回调...

    java8源码-Android_Note:记录平常学习的一点知识!

    java8 源码 Java Java基础 Java高新技术 [泛型--GenericType] ...[Android异步消息之AsyncQueryHandler] [Android异步消息之Executor Framwork] [Android异步消息之Loader] Android 网络篇 Android开发中常用的功能

    Android开发问题集锦第三期

    此外,如果查询的数据量较大,建议使用异步查询处理方法,如`AsyncQueryHandler`,以避免阻塞主线程。 以上是关于Android开发问题集锦第三期的一些关键知识点的详细介绍。希望这些内容能够帮助开发者更好地理解和...

    DBFlowDemo

    DBFlow 支持异步操作,通过 `RXJava` 或 `AsyncQueryHandler` 实现非阻塞的数据库访问。 8. **事务管理** 可以使用 `FlowManager.getDatabase().beginTransaction()` 和 `FlowManager.getDatabase().end...

    activeandroid-3.1-beta_android_merely6tt_

    2. 离线数据同步:在离线模式下,可以先将网络请求的数据保存到本地数据库,待网络恢复后再进行同步。 3. 复杂业务逻辑:对于具有复杂关系的数据模型,如用户与订单、评论之间的关系,ActiveAndroid可以简化关联...

    android Contacts增删改查.docx

    - `mQueryHandler`是`QueryHandler`的实例,它继承自`AsyncQueryHandler`,负责异步查询联系人数据。 - 在`onResume`方法中,会检查是否需要执行查询。如果是在默认模式下,并且是第一次打开应用,会调用`...

    日历事件多条删除

    `AsyncQueryHandler`的工作原理是通过发送消息到消息队列,然后在工作线程中处理这些消息,最后回调到主线程更新UI。 实现这个功能的具体步骤可能包括: 1. 在`Fragment`中获取用户选择的日历事件ID列表。 2. 使用...

    Android Contacts查询全过程

    - **模式调整**:如果当前处于默认模式,会调用 `setDefaultMode()` 方法来更新偏好设置并调整界面显示。 #### startQuery() 方法解析 这是整个查询过程的核心。在 `startQuery()` 方法中,应用程序准备查询参数并...

    安卓数据库操作案例

    可能包括了如何定义表结构,如何插入、更新、删除和查询数据的基本操作。这有助于开发者了解实际数据库操作的过程。 为了更好地理解这些概念,你可以查看压缩包中的"SimpleDatabase"文件,它可能包含了一个简单的...

Global site tag (gtag.js) - Google Analytics