2012-03-27 9 views
2

Dies ist eine ziemlich einfache Frage für solche seltsame Verhalten, aber das ist genau das, was meine App auf dem Playbook tut. Ich öffne die App das erste Mal und es läuft perfekt. Ich schließe die App und öffne sie dann erneut und sie hängt/erstarrt nach der ersten Aktion, die ich damit ausführe. Ich schließe dann die App, sie scheint sich selbst zurückzusetzen und öffnet sich dann und läuft beim nächsten Mal einwandfrei.Blackberry Playbook - App in Entwicklung hängt jedes zweite Mal, wenn es ausgeführt wird

Ich benutze die neuesten WebWorks und Debugging auf dem PB mit einem Debug-Token. Meine vorherige App (geschrieben/getestet auf Pre OS2.0) funktionierte und funktioniert weiter, einfach gut.

Ich freue mich, PLZ, wenn Sie möchten, aber es kann eine Verschwendung von Platz sein. Um das Problem zu beheben, schrieb ich eine schnelle Hello World-App, die ein Element in eine HTML5-Datenbank auf dem Playbook schreibt (meine Hauptanwendung verwendet auch WebDB), und diese App ist genauso einfach wie sie ist Verhalten. Alle meine Apps funktionieren in Chrome einwandfrei.

Wenn jemand irgendwelche Gedanken darüber hat, was dieses Verhalten verursachen könnte, bitte posten Sie eine Antwort.

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 Dokument:

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

Ich empfehle Ihnen, Ihr kleines Beispiel zu posten. Es wäre wahrscheinlich nützlich, über dieses Problem hinaus zu debuggen. – sarnold

+0

@sarnold Fair genug Anfrage. Ich habe ein Update geposted, aber anscheinend nicht so gut funktioniert. Es sollte immer noch lesbar sein. –

Antwort

0

Es klingt wie das Javascript abgestürzt ist, wenn die Appli hängt. testDB() hat wenige Zeilen, Sie können alert() einfügen, um zu sehen, welche Zeile nicht erreicht wird

Verwandte Themen