【问题标题】:How to create Cursor data without getting data from the DataBase in Android application?如何在不从 Android 应用程序的数据库中获取数据的情况下创建光标数据?
【发布时间】:2013-04-07 08:56:52
【问题描述】:

在我的 Android 应用程序中,我使用 Sqlite 数据库来存储来自服务器的数据。我正在使用 ContentProvider 和 ContentResolver 从数据库访问数据并使用 CursorAdapter 将数据绑定到 ListView。一旦数据插入DataBase,就会通知CursorAdapter 更新ListView。此外,每当我滚动 ListView 时,我都会从 DataBase 表中获取新数据,并且 ListView 将被更新。但是一旦我到达表行的末尾,我需要直接从服务器获取数据,而不是存储到数据库中并在 ListView 中更新它。现在,当我使用接受 Cursor 数据的 CursorAdapter 时,如何绑定一组不是来自数据库的新数据?是否可以在不从数据库获取数据的情况下创建游标数据并使用 ContentProvider 中的 ChangeCursor() 方法来更新 ListView?如果没有,有没有其他方法可以达到同样的效果?

【问题讨论】:

    标签: android android-contentprovider android-cursoradapter android-cursor


    【解决方案1】:

    可以在不从 数据库并使用 ContentAdapter 中的 ChangeCursor() 方法进行更新 列表视图?

    是的,您可以使用MatrixCursor 创建光标。如果您必须将 MatrixCursor 与数据库 Cursor 合并,请使用 MergeCursor

    【讨论】:

    • 感谢您的回答。所以我必须在哪里合并游标。调用 cursor.setNotificationUri() 时应该在 ContentProvider 的 onLoadFinished() 方法还是 query() 方法中完成?
    • 在 onLoadFinished() 中,但您可能应该在初始化加载程序之前从服务器下载数据(如果可能),或者如果您推迟下载,则刷新加载程序。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-21
    • 2018-09-05
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 2011-01-28
    • 1970-01-01
    相关资源
    最近更新 更多