对于这种奇怪的行为,这是一个相当简单的问题,但这正是我的应用程序在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>
答案 0 :(得分:0)
当appli挂起时,听起来好像是javascript崩溃了。 testDB()有几行,你可以插入alert()来查看未到达的行