Blackberry Playbook - приложение в разработке зависает каждый второй раз, когда оно запускается - PullRequest
2 голосов
/ 28 марта 2012

Это довольно простой вопрос для такого странного поведения, но именно это делает мое приложение в Playbook.Я открываю приложение в первый раз, и оно отлично работает.Я закрываю приложение, а затем снова открываю его, и оно зависает / зависает после первого действия, которое я выполняю с ним.Затем я закрываю приложение, оно само сбрасывается, а затем в следующий раз открывается и отлично работает.

Я использую последние версии WebWorks и отлаживаю на PB с токеном отладки.Мое предыдущее приложение (написанное / протестированное на предыдущей ОС 2.0) работало и продолжает работать, просто отлично.

Я рад опубликовать код, если хотите, но это может быть пустой тратой пространства.В попытке устранить проблему, я написал быстрое приложение Hello World, которое записывает один элемент в базу данных HTML5 в playbook (мое основное приложение также использует 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 голосов
/ 17 мая 2012

Звучит так, как будто JavaScript зависал при зависании приложения.testDB () имеет несколько строк, вы можете вставить alert (), чтобы увидеть, какая строка не достигнута

...