从android中的资产访问.db文件

时间:2011-06-06 07:24:32

标签: android

我有一个2MB大小的.db文件。我把它放在我项目的资产文件夹中。并编写如下代码。但我得到异常没有表退出。请帮助我如何访问.db文件而不复制到/数据库。

db = openOrCreateDatabase("assets\\TDP.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
    db.setVersion(1);
    db.setLocale(Locale.getDefault());
    db.setLockingEnabled(true);
  //  db.execSQL("create table TD_ASSEMBLY(name Text,password Text);");
  Cursor cur = db.query("TD_ASSEMBLY", 
            null, null, null, null, null, null);
       cur.moveToFirst();
       while (cur.isAfterLast() == false) {
         String first= cur.getString(0); 
         String second=cur.getString(1);
         tx.append(first+"  "+second);
         cur.moveToNext();
       }

2 个答案:

答案 0 :(得分:2)

不要使用常规路径从资产中检索文件。改为使用getAssets()。

最好的选择是在首次运行时将其保存到应用中的数据库文件夹。请在此处查看我的答案:The data disappear after moving the application on a real device in android以及其中的链接以获取示例。

答案 1 :(得分:0)

参考这些链接的答案,从资产中复制数据库:

adding your own SQLite database to an android application

Database not copying from assets