我已尝试实现此 博客中提到的 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个月前更新的插件的更新版本..
我不知道我哪里出错了。