2016-06-07 4 views
0

I cordova 6.2.0Cordova - JS - Bauen scheint nicht die JS-Datei nach dem Wechsel zu arbeiten

Gezielte Plattform verwende ist Android, SDK API Level: 15-19,

Hier ist der Code für index.js

var app = { 
initialize: function() { 
    this.bindEvents(); 
}, 

bindEvents: function() { 
    document.addEventListener('deviceready', this.onDeviceReady, false); 
}, 

onDeviceReady: function() { 
    app.receivedEvent('deviceready'); 

}, 
// Update DOM on a Received Event 
receivedEvent: function(id) { 
    var parentElement = document.getElementById(id); 
    var listeningElement = parentElement.querySelector('.listening'); 
    var receivedElement = parentElement.querySelector('.received'); 

    listeningElement.setAttribute('style', 'display:none;'); 
    receivedElement.setAttribute('style', 'display:block;'); 

    console.log('Received Event: ' + id); 
} 
// var database = { 
// var myDB = window.sqlitePlugin.openDatabase(
//  {name: "mySQLite.db", location: 'default'}); 
// 
// myDB.transaction(function(transaction) { 
//  transaction.executeSql('CREATE TABLE IF NOT EXISTS phonegap_pro (id integer primary key, title text, desc text)', [], 
//  function(tx, result) { 
//  alert("Table created successfully"); 
//  }, 
//  function(error) { 
//  alert("Error occurred while creating the table."); 
//  }); 
// }); 
// 
// var title="sundaravel"; 
// var desc="phonegap freelancer"; 
// myDB.transaction(function(transaction) { 
//  var executeQuery = "INSERT INTO phonegap_pro (title, desc) VALUES (?,?)"; 
//  transaction.executeSql(executeQuery, [title,desc], 
//  function(tx, result) { 
//  alert('Inserted'); 
//  }, 
//  function(error){ 
//  alert('Error occurred'); 
//  }); 
// }); 
// } 
// database.initialize(); 
}; 

app.initialize(); 

Datei Jedes Mal, wenn ich die js-Datei mit dem kommentierten Code oder einem Code der Build, zu Gerät immer zeigt verbinden funktioniert nicht ändern und nichts zu tun.

Stuck there.

habe ich den Code aus einem Tutorial, Link: http://phonegappro.com/tutorials/phonegap-sqlite-tutorial-with-example-apache-cordova/

Hier ist die Datei index.html wie gewünscht:

<!DOCTYPE html> 
<html> 
    <head> 
     <meta http-equiv="Content-Security-Policy" content="default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *"> 
     <meta name="format-detection" content="telephone=no"> 
     <meta name="msapplication-tap-highlight" content="no"> 
     <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width"> 
     <link rel="stylesheet" type="text/css" href="css/index.css"> 
     <title>Hello World</title> 
    </head> 
    <body> 
     <div class="app"> 
      <h1>Apache Cordova</h1> 
      <div id="deviceready" class="blink"> 
       <p class="event listening">Connecting to Device</p> 
       <p class="event received">Device is Ready</p> 
      </div> 
     </div> 
     <script type="text/javascript" src="cordova.js"></script> 
     <script type="text/javascript" src="js/index.js"></script> 
    </body> 
</html> 

PS: Ich bin neu in Cordova, lass Ich weiß, wenn ich hier etwas falsch mache.

+0

Was sagt das Buildprotokoll? 'cordova build android --verbose' (' android' in Zielplattform ändern ('ios', etc)) – dariru

+0

Der Build funktioniert nicht in dem Sinne, dass es keine Fehler beim Erstellen von Graden gibt, aber wenn ich die App starte, ist das Device Bereit-Option wird nie angezeigt, nur die Verbindung zum Gerät blinkt. –

+0

JS scheint in Ordnung. Kannst du HTML zu deiner Frage hinzufügen? –

Antwort

0
receivedEvent: function(id) { 
    var parentElement = document.getElementById(id); 
    var listeningElement = parentElement.querySelector('.listening'); 
    var receivedElement = parentElement.querySelector('.received'); 

    listeningElement.setAttribute('style', 'display:none;'); 
    receivedElement.setAttribute('style', 'display:block;'); 

    createDatabase(); 

    console.log('Received Event: ' + id); 
} 

Ich habe für Datenbankeintrag separate Funktion erstellt aus receivedEvent Funktion aufrufen und auch einige Änderungen in create() Funktion, wie unten definiert, und das funktioniert jetzt in Ordnung, meine eigene cordova App getestet in also bitte ein Blick und lassen Sie mich wissen, wenn Sie irgendeine Änderung benötigen.

function createDatabase() 
{ 
    try{ 
     var myDB = window.sqlitePlugin.openDatabase({ name: "mySQLite.db", location: 'default'}); 

     myDB.transaction(function(transaction) { 
      transaction.executeSql('CREATE TABLE IF NOT EXISTS phonegap_pro (id integer primary key, title text, desc text)', [], 
      function(tx, result) { 
       alert("Table created successfully"); 
      }, 
      function(error) { 
       alert("Error occurred while creating the table."); 
      }); 
     }); 

     var title="sundaravel"; 
     var desc="phonegap freelancer"; 

     myDB.transaction(function(transaction) { 
      var executeQuery = "INSERT INTO phonegap_pro (title, desc) VALUES (?,?)"; 
      transaction.executeSql(executeQuery, [title,desc], 
      function(tx, result) { 
       alert('Inserted'); 
      }, 
      function(error){ 
       alert('Error occurred'); 
      }); 
     }); 
    } 
    catch(e) 
    { 
     alert(e); 
    } 
} 
+0

Danke, es hat mit etwas Hilfe von den Kommentaren und diesem Beitrag funktioniert. –

Verwandte Themen