我有一个我已经创建的现有数据库,我想用我的Android应用程序。我已将该文件夹放入我的assets文件夹中,并且还具有DataBaseHelper.java文件。现在我想检索数据然后在我的一个活动中显示该数据,例如,以listView或我可以显示数据的任何其他方式。那么有谁知道我怎么做到这一点?为实现这一目标,接下来的步骤是什么?
答案 0 :(得分:0)
以下是一些让您前进的提示。
CREATE TABLE "android_metadata" ("locale" TEXT DEFAULT 'en_US'); INSERT INTO "android_metadata" VALUES ('en_US');
/data/data/your.package.name/databases/
。以下是执行此操作的示例代码:/** * Copies your database from your local assets-folder * to the just created empty database in the * system folder, from where it can be accessed and handled. * This is done by transfering bytestream. **/ private void copyDatabase() throws IOException{ //Open your local db as the input stream InputStream myInput = context.getAssets().open(DB_NAME); // Path to the just created empty db String outFileName = DB_PATH + DB_NAME; //Open the empty db as the output stream OutputStream myOutput = new FileOutputStream(outFileName); //transfer bytes from the inputfile to the outputfile byte[] buffer = new byte[1024]; int length; while ((length = myInput.read(buffer))>0){ myOutput.write(buffer, 0, length); } //Close the streams myOutput.flush(); myOutput.close(); myInput.close(); }
然后,您可以在DataBaseHelper中打开生成的文件。
答案 1 :(得分:0)
最简单的方法是使用以下项目
另一种方法是自己管理文件操作,将数据库从资产复制到正确的位置,并确保打开数据库文件的正确权限。
答案 2 :(得分:0)
您可以在资源
下尝试复制数据库的以下网址http://stackoverflow.com/questions/5945196/database-not-copying-from-assets