【发布时间】:2016-06-07 14:18:53
【问题描述】:
当我尝试从异步任务访问领域数据时,我总是收到此错误:
06-07 16:13:38.745: E/AndroidRuntime(21340): FATAL EXCEPTION: AsyncTask #2
06-07 16:13:38.745: E/AndroidRuntime(21340): Process: nl.hgrams.passenger, PID: 21340
06-07 16:13:38.745: E/AndroidRuntime(21340): java.lang.RuntimeException: An error occurred while executing doInBackground()
06-07 16:13:38.745: E/AndroidRuntime(21340): at android.os.AsyncTask$3.done(AsyncTask.java:309)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:354)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.FutureTask.setException(FutureTask.java:223)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
06-07 16:13:38.745: E/AndroidRuntime(21340): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:234)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.lang.Thread.run(Thread.java:818)
06-07 16:13:38.745: E/AndroidRuntime(21340): Caused by: java.lang.IllegalStateException: Realm access from incorrect thread. Realm objects can only be accessed on the thread they were created.
06-07 16:13:38.745: E/AndroidRuntime(21340): at io.realm.BaseRealm.checkIfValid(BaseRealm.java:404)
06-07 16:13:38.745: E/AndroidRuntime(21340): at io.realm.PSUserActivityMonthRealmProxy.realmGet$weeks(PSUserActivityMonthRealmProxy.java:134)
06-07 16:13:38.745: E/AndroidRuntime(21340): at nl.hgrams.passenger.model.PSUserActivityMonth.getWeeks(PSUserActivityMonth.java:83)
06-07 16:13:38.745: E/AndroidRuntime(21340): at nl.hgrams.passenger.activities.PSProfileActivity$8$1.doInBackground(PSProfileActivity.java:361)
06-07 16:13:38.745: E/AndroidRuntime(21340): at android.os.AsyncTask$2.call(AsyncTask.java:295)
06-07 16:13:38.745: E/AndroidRuntime(21340): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
06-07 16:13:38.745: E/AndroidRuntime(21340): ... 4 more
如何访问 AsyncTask 中的数据?我尝试使用领域查询调用再次从数据库中获取数据,但我仍然遇到此问题
【问题讨论】:
-
请显示您尝试访问它的代码。这样我们就更容易为您提供指导。
标签: android database asynchronous android-asynctask realm