我已尝试实现此博客here 中提到的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();
}
我刚刚在资产文件夹中添加了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个月前更新的插件更新版本..
我不知道我哪里出错了。