Ich folgte alle Schritte in der grundlegenden Phonegap-Tutorial (Eclipse, Android SDK, ADT Phonegap), erstellte ich eine HMTL-Seite im Ordner Assets/Www, lief es, und es zeigte meine hello world html
.Phonegap funktioniert nicht in Android Emulator
Schritt 2: Ich habe einen Verweis auf jQuery Mobile auf einem CDN in meiner HTML-Seite hinzugefügt: es hat funktioniert.
Schritt 3: Ich erstellte eine neue HTML-Seite, kopierte den folgenden Code, der ein Beispiel von der Phonegap-Site ist, und es tut nichts. Nicht einmal eine Warnung (ich habe noch einige Warnungen zu sehen, wenn etwas passiert, aber selbst das onDeviceReady Ereignis nicht ausgelöst.
Ich habe die Phonegap JAR vorhanden, die cordova-1.7.0.js
in meinem assest/www
Verzeichnis, aber etwas ist wahrscheinlich fehlt.
Kann mir jemand?
hilft ich habe auch versucht, eine andere Probe aus der Phonegap Website (die ‚Geräteeigenschaften‘ Probe), aber es funktioniert immer noch nicht.
es ist eine neue Eclipse installieren, Ich habe die Android-Version auf 2.3.3 eingestellt und verwende Phonegap 1.7.0.
================
EDIT
habe ich versucht, etwas mehr, und ich kann jetzt den Fehler reproduzieren, aber weiß nicht, warum es passiert .
Also habe ich ein neues Projekt mit dem Phonegap Beispielprojekt erstellt, es funktioniert.
Also kopierte ich alle Assets aus diesem Projekt (1 html, 2 js und 1 css) in meine Projekte, lass die App mit diesem html starten (aus meiner Aktivitätsklasse), und es funktioniert.
Und jetzt für den Spaß Teil (nicht): Ich setze die Startseite auf meine "alte" index.html (das ist jQuery mobile), und dann auf einen Link zum Beispiel html geklickt, funktioniert es nicht.
Also Beispiel html als Start: es funktioniert, Beispiel html über den Link geöffnet: funktioniert nicht.
Und als ich meine anderen HTML-Seiten geladen habe, die nicht als Startseite funktionierten, funktionieren sie auch, anstatt sie über die Startseite zu öffnen.
Also, ist es möglich, dass meine jQuery Mobile-powered Indexseite Probleme verursacht? (Ich kopiere den Code unten).
EDIT2: Wenn ich eine nicht-jQuery Mobile Indexseite verwende und ich eine Verbindung mit einem normalen <A href>
Link zum Beispiel html, funktioniert es auch. Das deutet mehr und mehr auf die Tatsache hin, dass jQuery mobile mir in den Weg kommt ...
Der Link-Code ist dies:
<li><a href="index4.html" data-transition="none">phonegap example</a></li>
Die jQuery Mobile Homepage:
<html>
<head>
<title></title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" />
<link rel="stylesheet" href="http://www.verfrisser.net/kalender/mobile/verfrisser.css" />
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
</head>
<body>
<div data-role="page">
<div data-role="header">
<h1>De NerdNight kalender</h1>
<a href="about.html" data-rel="dialog">About</a><a href="genereren.html" data-transition="pop">Genereren</a>
</div><!-- /header -->
<div data-role="content">
<img id="verfrisserlogo" src="verfrisserlogo.png" />
<ul data-role="listview" data-inset="true" data-filter="false">
<li><a href="2011.html" data-transition="none">2011</a></li>
<li><a href="2012.html" data-transition="none">2012</a></li>
<li><a href="2013.html" data-transition="none">2013</a></li>
<li><a href="testing.html" data-transition="none">testing</a></li>
<li><a href="testing2.html" data-transition="none">testing2</a></li>
<li><a href="testing3.html" data-transition="none">testing3</a></li>
<li><a href="index4.html" data-transition="none">phonegap example</a></li>
</ul>
</div><!-- /content -->
<div data-role="footer">
<h6>(C) Verfrisser 1998 till now</h6>
</div><!-- /footer -->
</div><!-- /page -->
</body>
</html>
================
Der Beispiel-HTML-Code (der nur den Text 'Ein Dialogfeld zeigt den Netzwerkstatus' auf der Seite anzeigt)
<!DOCTYPE html>
<html>
<head>
<title>navigator.network.connection.type Example</title>
<script type="text/javascript" charset="utf-8" src="cordova-1.7.0.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for Cordova to load //
document.addEventListener("deviceready", onDeviceReady, false);
// Cordova is loaded and it is now safe to make calls Cordova methods
alert ('stand alone');
//
function onDeviceReady() {
alert ('onDeviceReady');
checkConnection();
}
function checkConnection() {
var networkState = navigator.network.connection.type;
var states = {};
states[Connection.UNKNOWN] = 'Unknown connection';
states[Connection.ETHERNET] = 'Ethernet connection';
states[Connection.WIFI] = 'WiFi connection';
states[Connection.CELL_2G] = 'Cell 2G connection';
states[Connection.CELL_3G] = 'Cell 3G connection';
states[Connection.CELL_4G] = 'Cell 4G connection';
states[Connection.NONE] = 'No network connection';
alert('Connection type: ' + states[networkState]);
}
</script>
</head>
<body>
<p>A dialog box will report the network state.</p>
</body>
</html>
Haben Sie die Android Permission hinzugefügt? Hast du cordova.xml und plugins.xml in res hinzugefügt? –
Ja, die Berechtigungen sind vorhanden. Die 2 XML-Dateien Ich bin mir nicht sicher, ob ich in meinem Tutorial über sie gelesen habe. Kannst du mich über sie in die richtige Richtung weisen? – Michel
In Ihrem Ordner "application res" müssen Sie den Ordner xml hinzufügen, der im lib-Ordner des heruntergeladenen phonegap-Pakets vorhanden ist. Diese XML-Ordner enthält sowohl die xmls –