【问题标题】:How to read what is in the database如何读取数据库中的内容
【发布时间】:2017-01-20 20:54:51
【问题描述】:

我有一个 DatabaseHandler 类,并将我解析的 XML 保存到数据库中。好吧,我希望我是。我不确定如何查看数据库中的内容并查看它是否正确保存,以便我可以提取一些数据并进行更多开发。我尝试了一个日志语句,但我得到的只是我的包名和一些随机的数字字符串。

我正在创建表格并将解析的数据添加到 onResponse 中,因为我想在解析完成后立即保存它,因为 Web 服务很慢。

public void getXMLData() {
        OkHttpClient client = getUnsafeOkHttpClient();
        Request request = new Request.Builder()
                .url(getString(R.string.API_FULL_URL))
                .build();
        client.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, final Response response) throws IOException {
                final String responseData = response.body().string();
                final InputStream stream = new ByteArrayInputStream(responseData.getBytes());
                final XMLPullParserHandler parserHandler = new XMLPullParserHandler();
                final ArrayList<Employee> employees = (ArrayList<Employee>) parserHandler.parse(stream);
                employeeModel = new Employee();
                mEmployees.clear();
                mEmployees.addAll(employees);

                DatabaseHandler databasehandler = new DatabaseHandler(getApplicationContext());
                db = databasehandler.getWritableDatabase();
                databasehandler.onCreate(db);
                databasehandler.addEmployee(employeeModel);


                //tell adapter on the UI thread its data changed
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        mTopListViewAdapter.notifyDataSetChanged();
                        mBottomListViewAdapter.notifyDataSetChanged();
                        mMangerList.setVisibility(View.VISIBLE);
                        directReportListView.setVisibility(View.VISIBLE);
                        mProgressBar.setVisibility(View.GONE);
                    }
                });
            }
        });
    }

【问题讨论】:

    标签: android android-xml android-database


    【解决方案1】:

    如果您使用的是有根设备或模拟器,您可以提取您的 db 文件。 Here 是使用 Eclipse 时的示例。如果你在 Android Studio 上,你可以从

    找到 DDMS

    工具 -> Android -> Android 设备监视器

    获得数据库文件后,您可以在sqlitebrowser 中查看它。

    【讨论】:

    • 在不生根的情况下执行此操作:adb exec-out run-as PKG cat databases/FILE > OUT 其中 PKG 是您应用的包名称, FILE 是数据库文件的名称(与您在 SQLiteOpenHelper 子类中使用的名称相同),OUT 是连接计算机上文件的输出名称。然后正如 junaid 所说,您可以使用 SQLite 数据库阅读器查看数据库文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-23
    • 2023-04-02
    相关资源
    最近更新 更多