情况: 我正在创建一个处理本地数据库的多线程Android应用程序。出于同步/并发原因,我希望特定活动与Cursor完全没有任何交易。但是,现在它使用CursorAdapter在屏幕上显示来自db的数据。
问题: 如何在不使用Cursor的情况下复制SimpleCursorAdapter的功能(因为打开游标会引入并发错误)?
(使用对象的ArrayList会起到最佳效果,因为我已经准备好了它。)
谢谢。我会坚持下去并根据需要澄清一切。
答案 0 :(得分: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。
这可能允许您以更线程安全的方式运行非线程安全的代码。
我希望这有帮助!