如何读取数据库中的内容
How to read what is in the database
我有一个 DatabaseHandler class 并将解析后的 XML 保存到数据库中。好吧,我希望我是。我不确定如何查看数据库中的内容以及它是否正确保存,以便我可以提取一些数据并进行更多开发。我尝试了一个日志语句,但我得到的只是我的包裹名称和一些随机数字串。
我正在创建 table 并在 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);
}
});
}
});
}
如果您使用的是有根设备或模拟器,您可以拉取您的数据库文件。 Here 是使用 Eclipse 时的示例。如果你在 Android Studio 上,你可以从
找到 DDMS
Tools -> Android -> Android Device Monitor
获得数据库文件后,您可以在 sqlitebrowser
中查看它。
我有一个 DatabaseHandler class 并将解析后的 XML 保存到数据库中。好吧,我希望我是。我不确定如何查看数据库中的内容以及它是否正确保存,以便我可以提取一些数据并进行更多开发。我尝试了一个日志语句,但我得到的只是我的包裹名称和一些随机数字串。
我正在创建 table 并在 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);
}
});
}
});
}
如果您使用的是有根设备或模拟器,您可以拉取您的数据库文件。 Here 是使用 Eclipse 时的示例。如果你在 Android Studio 上,你可以从
找到 DDMSTools -> Android -> Android Device Monitor
获得数据库文件后,您可以在 sqlitebrowser
中查看它。