2011-07-25 38 views
0

伙计们我有这个代码的和平我使用phonegap与jqueryMobile开发跨平台的应用程序。当页面加载 警报启动弹出phoneGap问题

但功能“populateDB”永远不会被调用

的初始化函数被调用,无论是成功或错误的方法称为

function Initialize() 
     { 
      alert("start"); 
      db = window.openDatabase("YahooMovies", "1.0", "Yahoo Movies", 200000); 
      db.transaction(populateDB, DB_Error, updateDb); 
     } 

     function populateDB(tx) 
     { 
      alert("initSql"); 
      tx.executeSql('DROP TABLE IF EXISTS tblMovies'); 
      tx.executeSql('CREATE TABLE IF NOT EXISTS tblMovies (Id unique, Title, EpisodeNum, PubDate, PoweredBy, VideoURL, ImageUrl, CategoryId, Restriction, keywords, Text, Adult, Actors, Director, Writer, Producer, Visitor, Album, Artist)'); 
     } 
+0

它完美workds浏览器 但只能在模拟器 –

+1

什么有趣的DDMS日志给出了这样的错误? –

回答

0

没有仿真器将永远能够完美地阐述设备的行为,尤其是如果这两个都基于不同的架构。如果您在谈论iOS仿真,请相信我,仿真器的响应绝不应该是设备响应的指示。 iOS本身编译三种不同的体系结构:armv6,armv7i386。这就是说,如果它在你的设备上工作,而不是在你的模拟器上工作,不要担心。毕竟,它是重要的设备。除了你之外,没有人会在模拟器中使用该应用程序。

编辑:哎呀,刚才看到那个android标签。同样的事情适用!

0

可能是您的某个函数名称中的拼写错误 - updateDb - 当您的其他变量具有大写字母时,会有小写字母“b”。

此代码的工作对我来说:

`function populateDB(tx) 
{ 
    alert("initSql"); 
    tx.executeSql('DROP TABLE IF EXISTS tblMovies'); 
    tx.executeSql('CREATE TABLE IF NOT EXISTS tblMovies (Id unique, Title, EpisodeNum,  PubDate, PoweredBy, VideoURL, ImageUrl, CategoryId, Restriction, keywords, Text, Adult, Actors, Director, Writer, Producer, Visitor, Album, Artist)'); 
} 

function DB_Error(tx) 
{ 
alert("error");  
} 

function updateDb(tx) 
{ 
alert("updateDb");  
    }`