Android 如何读取数据库中的内容

Android 如何读取数据库中的内容,android,android-xml,android-database,Android,Android Xml,Android Database,我有一个DatabaseHandler类,正在将解析后的XML保存到数据库中。嗯,我希望我是。我不知道如何查看数据库中的内容,以及它是否正确保存,以便我可以提取一些数据并进行更多的开发。我尝试了一个log语句,但得到的只是我的包名和一些随机的数字字符串 我正在创建表并将解析后的数据添加到onResponse中,因为我希望在解析完成后尽快保存这些数据,因为web服务很慢 public void getXMLData() { OkHttpClient client = getUnsa

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

我正在创建表并将解析后的数据添加到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);
                    }
                });
            }
        });
    }
public void getXMLData(){
OkHttpClient=getUnsafeOkHttpClient();
Request Request=newrequest.Builder()
.url(getString(R.string.API\u FULL\u url))
.build();
client.newCall(request).enqueue(new Callback()){
@凌驾
公共void onFailure(调用调用,IOE异常){
e、 printStackTrace();
}
@凌驾
public void onResponse(调用、最终响应)引发IOException{
final String responseData=response.body().String();
final InputStream stream=新的ByteArrayInputStream(responseData.getBytes());
final XMLPullParserHandler parserHandler=新的XMLPullParserHandler();
最终ArrayList employees=(ArrayList)parserHandler.parse(stream);
employeeModel=新员工();
mEmployees.clear();
mememployees.addAll(员工);
DatabaseHandler DatabaseHandler=新的DatabaseHandler(getApplicationContext());
db=databasehandler.getWritableDatabase();
databasehandler.onCreate(db);
databasehandler.addEmployee(employeeModel);
//告诉UI线程上的适配器其数据已更改
runOnUiThread(新的Runnable(){
@凌驾
公开募捐{
mTopListViewAdapter.notifyDataSetChanged();
mBottomListViewAdapter.notifyDataSetChanged();
mMangerList.setVisibility(View.VISIBLE);
directReportListView.setVisibility(View.VISIBLE);
mProgressBar.setVisibility(View.GONE);
}
});
}
});
}

如果您使用的是根设备或仿真器,则可以提取db文件。是使用Eclipse时的一个示例。如果你在Android Studio上,你可以从

工具->安卓->安卓设备监视器

拥有数据库文件后,您可以在
sqlitebrowser
中查看它

执行此操作时不要使用根:adb exec out run as
PKG
cat databases/
FILE
out
其中PKG是应用程序的软件包名称,FILE是数据库文件的名称(与SQLiteOpenHelper子类中使用的名称相同),out是连接计算机上文件的输出名称。然后,正如junaid所说,您可以使用SQLite数据库读取器查看数据库文件