更新我找到了解决方案: 好吧,我真是太蠢了......解决方案很简单,我只是在行添加了大小
db = window.openDatabase("parking", "1.0", "DB Parking");
现在我有了
db = window.openDatabase("parking", "1.0", "DB Parking",40000);
现在我的代码在我的Sensation ICS上正常运行。
你好,
我是移动应用程序的法语开发人员。自1个月以来,我一直在使用phonegap来开发Android应用程序。在我的应用程序中,我使用数据库存储,我遇到了executeSql方法的问题。
使用Gingerbread(Android 2.3)中的设备(HTC Sensation),此代码运行正常:
var db;
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
createDB();
}
function createDB() {
db = window.openDatabase("parking", "1.0", "DB Parking");
db.transaction(verifDB, dbEmpty,dbNotEmpty);
}
function verifDB(tx)
{
try
{
tx.executeSql("SELECT * FROM ETABLISSEMENT", [], dbNotEmpty, dbEmpty);
}
catch(err)
{
alert(err);
}
}
function dbEmpty(tx)
{
db.transaction(populateDB, errorCB, successCB);
}
function dbNotEmpty()
{
//Do nothing
}
但昨天我用冰淇淋三明治(ICS)升级了我的设备,今天我的应用程序崩溃了:
tx.executeSql("SELECT * FROM ETABLISSEMENT", [], dbNotEmpty, dbEmpty);
我查看了Eclipse中的LogCat选项卡,我看到了这个:
02-15 11:00:51.843: E/AndroidRuntime(8030): FATAL EXCEPTION: main
02-15 11:00:51.843: E/AndroidRuntime(8030): java.lang.NullPointerException
02-15 11:00:51.843: E/AndroidRuntime(8030): at com.phonegap.Storage.executeSql(Storage.java:168)
02-15 11:00:51.843: E/AndroidRuntime(8030): at com.phonegap.Storage.execute(Storage.java:87)
02-15 11:00:51.843: E/AndroidRuntime(8030): at com.phonegap.api.PluginManager.exec(PluginManager.java:176)
我尝试使用Phonegap 1.3.0 和 1.4.1 ,我使用phonegap存档中Android文件夹中的phonegap.jar和phonegap.js。
我希望有人有解决方案。
感谢您的阅读。 ps:如果你在我的文中发现错误,请告诉我。谢谢。