1

我已尝试实现此 博客中提到的 SQLite 插件。

我对编码的更改

 try 
        {
            File dbFile = getDatabasePath("abc.db");
            if(!dbFile.exists()){
                System.out.println("current db path:"+getDatabasePath("abc.db"));
                this.copy("abc.db",dbFile.getAbsolutePath());
            }
            else
            {
                System.out.println("db path:"+dbFile.getAbsolutePath());
            }
         } 
         catch (Exception e)
         {
         e.printStackTrace();
         }

    //And our copy function:


    super.loadUrl("file:///android_asset/www/index.html");
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_main, menu);
    return true;
}

  void copy(String file, String folder) throws IOException 
    {
     File CheckDirectory;
     CheckDirectory = new File(folder);


     String parentPath = CheckDirectory.getParent();

     File filedir = new File(parentPath);
     if (!filedir.exists()) {
         if (!filedir.mkdirs()) {
             return;
         }
     }

        InputStream in = this.getApplicationContext().getAssets().open(file);
        File newfile = new File(folder);
        OutputStream out = new FileOutputStream(newfile);


        byte[] buf = new byte[1024];
        int len; while ((len = in.read(buf)) > 0) out.write(buf, 0, len);
        in.close(); out.close();
    }

我刚刚在Assets 文件夹中单独添加了 Sqlite(数据库)文件 , PhoneGap-SQLitePlugin-Android 只有这两个 java 文件。

当我得到它显示为的路径时,我收到警告为 FILENOTFOUNDEXCEPTION

04-17 19:06:46.370: I/System.out(8101): current db path:/data/data/com.a.b.c/databases/abc.db

我正在使用cordova 2.5.0,我将android从4.1.2更改为2.2,并使用4个月前更新的插件的更新版本..

我不知道我哪里出错了。

4

0 回答 0