2012-03-27 2 views
2

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

Я использую последний WebWorks и отлаживаю на PB с помощью маркера отладки. Мое предыдущее приложение (написанное/протестированное на pre OS2.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> 
+0

Я рекомендую опубликовать ваш маленький пример. Вероятно, он был бы полезен сам по себе, за исключением отладки этой проблемы. – sarnold

+0

@sarnold Fair enought запрос. Я опубликовал обновление, но, по-видимому, не очень хорошо сделал шаг. Он все равно должен быть читабельным. –

ответ

0

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

 Смежные вопросы

  • Нет связанных вопросов^_^