我是安卓新手。在我的项目中,我通过蓝牙发送从下拉列表(微调器)中选择的数据。
我已经创建了一个数据库并将值加载到微调器中并通过蓝牙发送了选定的值。它工作正常。现在的问题是我知道数据库是在我为微调器显示它的值时创建的。现在我想以表格的形式在提交时显示选定的微调器数据。
我无法查看我已经创建的数据库。说例如。我们有 php myadmin 以防 php 查看和操作数据库。 android中有这样的东西吗?我已经尝试在 DDMS 中使用 Android 设备监视器并选择数据/数据来查找数据库,但它没有显示任何数据库。可能是什么问题?它必须在 data/data 中显示类似 com com.projectname 的内容,但它没有显示相同的内容。
最佳答案
出于安全考虑,您不能直接在 Android 设备上访问数据库。但如果您在模拟器上进行测试,您将能够从文件资源管理器 (Eclipse) 中看到数据库。步骤:
- 转到“窗口”>“显示 View ”>“选择文件资源管理器”(如果它不在列表中,请单击底部的“其他”以获取更多选项)。
- 选择文件资源管理器。
- 您的数据库将位于 data 文件夹和您的包名称下。
- 拉取数据库文件。
- 在浏览器中安装 SQLite 管理器插件。
- 将您的数据库文件加载到其中,您将能够在那里看到完整的数据库。
如果您的数据库位于 Android 设备上,请使用以下代码将您的数据库复制到 SD 卡中的另一个位置,然后从那里手动将其复制到您的 PC 上并在 SQLite 管理器中加载该文件。
/**
* Export your database file
*/
private void exportDB() {
String SAMPLE_PKG_NAME = "com.example.android";// your package name
String SAMPLE_DB_NAME = "database"; // your database name
String path = Environment.getExternalStorageDirectory() + "/Android";
File sd = new File(path);
if (sd.exists()) {
Log.d("Database", "EXISTS");
}
File data = Environment.getDataDirectory();
FileChannel source = null;
FileChannel destination = null;
String currentDBPath = "/data/" + SAMPLE_PKG_NAME + "/databases/"
+ SAMPLE_DB_NAME;
String backupDBPath = SAMPLE_DB_NAME;
File currentDB = new File(data, currentDBPath);
File backupDB = new File(sd, backupDBPath + ".sqlite");
try {
source = new FileInputStream(currentDB).getChannel();
destination = new FileOutputStream(backupDB).getChannel();
destination.transferFrom(source, 0, source.size());
source.close();
destination.close();
Toast.makeText(this, "DB Exported!", Toast.LENGTH_LONG).show();
} catch (IOException e) {
e.printStackTrace();
}
}
关于android - android 设备上 sqlite 数据库的默认位置不显示我的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28809120/