Blackberry Playbook - 开发中的应用程序每运行一次就会挂起

时间:2012-03-27 23:39:37

标签: blackberry-playbook blackberry-webworks

对于这种奇怪的行为,这是一个相当简单的问题,但这正是我的应用程序在Playbook上所做的。我第一次打开应用程序,它运行得很好。我关闭应用程序,然后再次打开它,它在我执行的第一个操作后挂起/冻结。然后我关闭应用程序,它似乎重置自己,然后打开并在下次运行完美。

我正在使用最新的WebWorks,并使用调试令牌在PB上进行调试。我以前的应用程序(在OS2.0之前编写/测试)工作,并继续工作,就好了。

如果您愿意,我很乐意发布代码,但这可能会浪费空间。为了解决这个问题,我编写了一个快速的Hello World应用程序,它将一个项目写入playbook上的HTML5数据库(我的主应用程序也使用了WebDB),该应用程序虽然简单,却完全相同行为。我的所有应用在Chrome中运行良好。

如果有人对可能导致此行为的行为有任何疑问,请发回回复。

HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0   Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="helloworld.js"></script>

</head>

<body>
<input type="text" id="testDBInput"/>
<button type="button" onclick="testDB()">go</button>
</body>
</html>

JavaScript文档:

var taskdb=openDatabase ("helloworldDB", "1.0", "test database", 10*1024*1024);

taskdb.transaction(function(tx)
{

tx.executeSql("CREATE TABLE IF NOT EXISTS maintable (id integer primary key autoincrement, nametitle TEXT)");

});

function testDB()
{
    var testTitle=document.getElementById("testDBInput").value;
    taskdb.transaction(function(tx)
    {
    tx.executeSql("INSERT INTO maintable (nametitle) VALUES (?)", [testTitle], function (tx, results)
            {
            });
    });

}

blackberry-tablet.xml

<?xml version="1.0" encoding="utf-8"?>

<qnx>
<icon>
 <image></image> 
</icon>
<author>***edited for privacy***</author>
<authorId>***edited for privacy***</authorId>
<platformVersion>1.0.0.0</platformVersion>

</qnx>

config.xml

<?xml version="1.0" encoding="utf-8"?>
<widget xmlns=" http://www.w3.org/ns/widgets"
    xmlns:rim="http://www.blackberry.com/ns/widgets"
    version="1.0.0.0">

  <name>Tester</name>

  <description>
    PB Tester
  </description>

  <rim:orientation mode="landscape"/>
  <rim:loadingScreen  onFirstLaunch="true" >
  </rim:loadingScreen>

  <author>***edited for privacy***</author>
  <icon src="bdicon.png"/>

  <content src="index.html"/>
  <feature id="blackberry.app" required="true" version="1.0.0.0"/>
  <feature id="blackberry.ui.dialog" required="true" version="1.0.0.0"/>

</widget>

1 个答案:

答案 0 :(得分:0)

当appli挂起时,听起来好像是javascript崩溃了。 testDB()有几行,你可以插入alert()来查看未到达的行