Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从android中的资产访问.db文件_Android - Fatal编程技术网

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

从android中的资产访问.db文件,android,Android,我有一个2MB大小的.db文件。我把它放在我项目的资产文件夹中。并编写了如下代码。但我得到了异常“无表存在”。请帮助我如何在不复制到/databases的情况下访问.db文件 db = openOrCreateDatabase("assets\\TDP.db", SQLiteDatabase.CREATE_IF_NECESSARY, null); db.setVersion(1); db.setLocale(Locale.getDefault()); db.setLock

我有一个2MB大小的.db文件。我把它放在我项目的资产文件夹中。并编写了如下代码。但我得到了异常“无表存在”。请帮助我如何在不复制到/databases的情况下访问.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();
       }

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


最好的选择是在第一次运行时将其保存到应用程序的数据库文件夹中。请参见我的答案:以及其中的链接以获取示例

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