3

我有一个应用程序,该应用程序包含从同一应用程序的本机代码和 phonegap 代码访问的公共数据库,但是,我无法访问由 phonegap 代码中的本机代码写入数据库的数据。我正在为 android 使用以下代码片段 -

public class DataBaseHandler extends SQLiteOpenHelper {

public DataBaseHandler(Context context) {
    super(context, "dbName", null, 1);
}

@Override
public void onCreate(SQLiteDatabase db) {

}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}

public void addNotification(String data) {
    SQLiteDatabase db = this.getWritableDatabase();
    values.put("data", data);
    db.insert("myTable", null, values);
    db.close();
}

但是当我尝试从“myTable”中获取数据时,我没有得到任何数据并且表是空的,我检查了 ddms 以确保数据填充在表中,我正在使用 sqlite 插件 for phonegap on android ( https://github.com/pgsqlite/PG-SQLitePlugin-Android )

我怀疑本机和 phonegap 部分是否有可能以某种方式使用不同的数据库而不是公共数据库。

4

1 回答 1

0

如果您从https://github.com/litehelpers/Cordova-sqlite-legacy-build-support/tree/master/src/android/io/sqlc阅读代码。插件代码不使用 SQLiteOpenHelper 类来创建 sqlite 数据库。该插件使用另一种方法 SQLiteOpenFlags 来创建数据库表。我也有和你一样的问题。

于 2017-05-08T10:15:45.780 回答