1

感谢您的时间。希望我能尽可能清楚,如果我没有这样做,请提前道歉。

情况: 我正在创建一个处理本地数据库的多线程 Android 应用程序。出于同步/并发的原因,我希望一个特定的活动根本不与游标打交道。然而,现在它使用 CursorAdapter 在屏幕上显示来自 db 的数据。

问题: 如何在不使用游标的情况下复制 SimpleCursorAdapter 的功能(因为打开游标会引入并发错误)?

(使用对象的 ArrayList 效果最好,因为我已经准备好使用它了。)

谢谢你。我会坚持下去并根据需要澄清一切。

4

1 回答 1

0

可能有用的东西:

如果您想在异步线程上以线程安全的方式处理游标(即可预测),请尝试使用 runOnUiThread: http: //developer.android.com/reference/android/app/Activity.html#runOnUiThread (java.lang.Runnable )

代码如下:

activity.runOnUiThread(new Runnable() {
           @Override
           public void run() {
               //Paste code here
           }
       });

此代码将进入 AsyncTask 重载之一,例如 onPreExecute 或 doInBackground。

这可能允许您以更线程安全的方式运行非线程安全代码。

我希望这有帮助!

于 2011-06-30T19:40:48.233 回答