是否可以从URL下载SQLite数据库文件并对其运行查询以读取数据并将其存储在另一个已存在的SQLite数据库中?或者我需要在本地保存并在此后进行操作?
答案 0 :(得分:1)
我不知道在下载后立即查询sqlite表。但是,我有类似的经验,从Internet下载sqlite表并将其保存在databases
目录中。然后我可以在保存后立即在该表中运行查询。
我正在共享用于在databases
目录中保存表的代码。
public static final String DB_PATH = "/data/data/" + "com.example.yourapppackagename" + "/databases/";
try {
inputStreamDownloaded = downloadFileAndReturnInputStream();
File dir = new File(DataHelper.DB_PATH);
if (!dir.exists()) dir.mkdir();
File f = new File(DB_PATH + "downloaded_table.sqlite");
if (!f.exists()) {
f.createNewFile();
}
OutputStream mOutput = new FileOutputStream(f);
byte[] mBuffer = new byte[1024];
int mLength;
while ((mLength = inputStreamDownloaded.read(mBuffer)) > 0) {
mOutput.write(mBuffer, 0, mLength);
}
mOutput.flush();
mOutput.close();
inputStreamDownloaded.close();
} catch (Exception e) {
e.printStackTrace();
}
在本地保存.sqlite
文件后,您可以在downloaded_table
上运行查询。希望有所帮助!