java - 异步插入后无法从android sqlite数据库检索数据

标签 java android android-asynctask android-sqlite

在启动 Activity 中,我将数据插入 AsyncTask 中的数据库中,完成后我启动新 Activity 并选择该数据以在 ListView 中显示它,但所选光标为空。 这是插入和启动新 Activity 的代码:

 dbOperations= DatabaseManager.getInstance(AuthorizationMainActivity.this);
            dbOperations.open();
            LinkedHashMap<String, Object> parametersInbox = new LinkedHashMap<String, Object>();
            parametersInbox.put("_id", result.get("msg_id"));
            parametersInbox.put("limit", Integer.valueOf(1000).toString());
            parametersInbox.put("type", Integer.valueOf(1).toString());
            requestInbox(serverParametersInbox);//This method send request to the server and insert response into the database.
                           try {
                databaseTask.get();
            } catch (InterruptedException e) {
                e.printStackTrace();
            } catch (ExecutionException e) {

                e.printStackTrace();
            }
            Intent nextView = new Intent(context_, InboxActivity.class);
            startActivity(nextView);

这是InboxActivity onCreate():

DatabaseManager db = DatabaseManager.getInstance(this);
 db.open();
  String selectionQuery = "select * from messages;";
 database.rawQuery(selectionQuery, null).getCount(); //Here is 0!

所以数据插入得很好(我可以在查看器中看到它)。但在下一个 Activity 中我无法检索它。为什么?在开始新的 Activity 之前,我调用 get() 来等待 AsyncTask 完成。

P.S select 和 * 之间插入空格不会产生任何效果。

最佳答案

DatabaseManager db = DatabaseManager.getInstance(this);
 db.open();
  String selectionQuery = "select * from messages;";
 database.rawQuery(selectionQuery, null).getCount(); //Here is 0!

关于java - 异步插入后无法从android sqlite数据库检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15498443/

相关文章:

java - Oracle ATG 调度程序 : Month oddity

java - 无法通过反射 setter 设置字段值

android - 我可以防止Android Studio的构建速度变慢吗?

java - 使用大字节数组下载大文件会导致 "Out of memory"

java - Spring MVC @RequestBody 接收具有非原始属性的对象包装器

java - Java 中无需 I/O 的正确 ZIP 实现

android - 如何在android中检测人体

android - eclipse 错误 "Could not found android-beacon-library.apk"

java - 无法在 onPostExecute 内更新/重绘 listView

php - 使用 Android 应用程序中的按钮执行 PHP 脚本