1

我搜索了 StackOverflow 并用谷歌搜索,但找不到答案。

我正在尝试使用 Virgil Dobjanschis Designpattern B ( http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html )构建 REST-Service

我有一个带有 SimpleCursorAdapter 和 LoaderManager 的活动来查询 ContentProvider。这适用于我的数据库中的数据。重新查询数据并刷新 UI。

在 ContentProvider 上的每个查询之后,都会启动一个线程来同步来自网络的请求数据,它会加载 json 对象、解析并将新数据保存到数据库中——一切都很好,但 UI 没有更新。

我想我必须向我的活动发送一条消息来刷新数据,但我不知道如何也找不到如何做到这一点的示例。

那么,管理这个问题的正确方法是什么?

- - 更新 - -

我想我没有清楚地解释我的问题。正如你在这张照片中看到的:

在此处输入图像描述

第 7 步正在工作。Helper 类正在更新数据。步骤 7' 不会发生。我认为这将是 ContentProvider 的自动功能。

我的 Helper 类(Resthandler)直接更新数据库而不使用 ContentProvider。

4

2 回答 2

0

你有一个 SimpleCursorAdapter,我想你用它来将数据从内容提供者绑定到你的 UI,对吗?如果这是真的,那么每次更新游标时都需要将检索到的游标移动到游标适配器。

在 CursorLoader.onLoadFinished() 中执行此操作,方法是调用

SimpleCursorAdapter.swapCursor() 或 SimpleCursorAdapter.changeCursor()。

有关完整示例,请参阅 Android 培训课程 在后台加载数据。

于 2013-04-05T20:11:01.470 回答
0

我已经找到了解决方案。我在 ContentProvider 中重载了 insert()。所以我可以给它 ContentValues 并且 CP 正在将数据写入 db。CP 向视图发送通知。它已经过测试并且可以正常工作。我在“Programming Android”一书中找到了这一点。

于 2013-05-07T14:47:46.187 回答