Ausführen von Chrome -Apps auf einem mobilen Ger?t mit Cordova
Feb 20, 2025 am 09:26 AM
Key Takeaways
- Chrome-Apps k?nnen auf Android- und iOS-Ger?ten mit einem Toolset ausführen, das auf Apache Cordova basiert, ein Open-Source-Framework für mobile Apps mithilfe von HTML, CSS und JavaScript. Cordova wickelt diese Web -Apps mithilfe der nativen Shell ein und erm?glicht die Verteilung in Google Play, dem Apple App Store und anderen Gesch?ften.
- Der Prozess des Erstellens einer Chrome -App beinhaltet das Erstellen eines Projektordners, das Definieren der erforderlichen Einstellungen in einer Manifest.json -Datei, das Erstellen eines Fensters für die App zum Start und das Einrichten eines AJAX -Aufrufs zum Abrufen von Daten. Dieser Prozess wurde mit der Erstellung einer einfachen Twitter -Chrome -App demonstriert.
- Ausführen einer Chrom -App auf Android, Java JDK 7 oder h?her, Android SDK 4.4.2 oder h?her und Apache Ant müssen auf dem System installiert werden. Das CCA-Befehlszeilen-Tool ist ebenfalls erforderlich. Nach dem Einrichten der Umgebung kann ein neues Projekt mit den vorhandenen Chrome -Apps zum Port mit spezifischen Befehlen erstellt werden.
Chrome -Apps sind bei Chrome -Benutzern beliebt. Und warum nicht, sie bieten eine Methode zum Erstellen einer tragbaren ?Anwendung“ in der vertrauten Umgebung des Chrome -Browsers.
Stellen Sie sich die Leistung von Chrome -Apps vor, die auf Ihrem Smartphone verfügbar sind. Wir k?nnen jetzt unsere Lieblings -Chrome -Apps auf Android und iOS mit einem Toolsatz ausführen, das auf Apache Cordova basiert.
Cordova ist ein Open -Source -Framework für mobile Apps mithilfe von HTML, CSS und JavaScript. Cordova wickelt die HTML-, CSS- und JavaScript -Web -App mithilfe der nativen Shell ein und erm?glicht die Verteilung auf Google Play, den Apple App Store und andere Gesch?fte.
übersicht
In diesem Tutorial erstellen wir unsere eigene Chrome -App mit HTML, CSS und JavaScript und portieren sie in den Android -Emulator. Die Anwendung, die wir erstellen, ist eine einfache App, um die neuesten Tweets basierend auf einem bestimmten Twitter -Hashtag zu holen.
Chrome -App erstellen
Wir erstellen zun?chst unsere Chrome -App. Sobald wir die Chrome -App erstellt und auf dem Chrome -Browser getestet haben, werden wir sie auf Android portieren.
Quellcode aus diesem Tutorial ist auf GitHub verfügbar.
Erstellen Sie einen Projektordner namens TwitterchromeApp. Erstellen Sie im Projektordner eine Manifest -Datei namens Manifest.json, die die Konfigurationsdatei für unsere App ist. Im Inside Manifest.json definieren wir einige Einstellungen, die von der Chrome -App erforderlich sind. Chrome -Apps erfordern, dass Manifest_version 2 sein muss. Wir werden auch den Namen der App, ihre Version und den Pfad zu einem Hintergrundskript definieren, um das Starten der App auszuführen. Wir holen die Tweets von einer externen Service -URL ab, sodass wir dies auch in dieser Datei angeben. Hier ist, wie das Manifest.json aussehen sollte:
<span>{ </span> <span>"manifest_version": 2, </span> <span>"name": "Tweet Chrome App", </span> <span>"version": "1.0", </span> <span>"app": { </span> <span>"background": { </span> <span>"scripts": ["scripts/main.js"] </span> <span>} </span> <span>}, </span> <span>"permissions": [ </span> <span>"http://twittersearchapi.herokuapp.com/search" </span> <span>] </span><span>}</span>
Wenn die Chrome -App startet, werden ein Fenster angezeigt, in dem die Tweets von Twitter angezeigt werden. Chrome -Apps haben eine Veranstaltung namens Onlaunted, mit der wir das Fenster für unsere App beim App -Start erstellen.
Innerhalb des Projektordners TwitterchromeApp erstellen Sie einen anderen Ordner namens Skripte und erstellen Sie das Hintergrundskript namens Main.js. Fügen Sie Main.js den folgenden Code hinzu:
<span>{ </span> <span>"manifest_version": 2, </span> <span>"name": "Tweet Chrome App", </span> <span>"version": "1.0", </span> <span>"app": { </span> <span>"background": { </span> <span>"scripts": ["scripts/main.js"] </span> <span>} </span> <span>}, </span> <span>"permissions": [ </span> <span>"http://twittersearchapi.herokuapp.com/search" </span> <span>] </span><span>}</span>
Innerhalb des Onlaunted -Ereignisses erstellen wir eine Witwe für unsere Chrome -App. Fügen Sie Main.js den folgenden Code hinzu:
chrome<span>.app.runtime.onLaunched.addListener(function() { </span> <span>// creating window for app code will be here </span><span>});</span>
Im obigen Code haben wir das Bildschirmobjekt verwendet, um die verfügbare Bildschirmbreite und -h?he zu erhalten. Basierend auf der tats?chlichen Breite des Bildschirms setzen wir die ?u?eren Grenzen des neuen Chromfensters, um korrekt anzuzeigen.
Chrome.app.window.create erstellt ein neues Fenster mit dem HTML im Datei index.html.
Innerhalb des Projektordners TwitterchromeApp Erstellen Sie eine neue Datei namens Index.html wie unten gezeigt:
chrome<span>.app.runtime.onLaunched.addListener(function() { </span> <span>var screenWidth = screen.availWidth; </span> <span>var screenHeight = screen.availHeight; </span> <span>var width = 500; </span> <span>var height = 300; </span> chrome<span>.app.window.create('index.html', { </span> <span>id: "tweetAppID", </span> <span>outerBounds: { </span> <span>width: width, </span> <span>height: height, </span> <span>left: Math.round((screenWidth - width) / 2), </span> <span>top: Math.round((screenHeight - height) / 2) </span> <span>} </span> <span>}); </span><span>});</span>
Versuchen Sie nun, die Chrome -App in Ihrem Chrome -Browser zu installieren. ?ffnen Sie Tools -> Erweiterungen (m?glicherweise mehr Tools ). Aktivieren Sie den Entwicklermodus aus dem Kontrollk?stchen oben rechts und klicken Sie dann auf ausgepackte Erweiterung und w?hlen Sie den Projektordner aus.
Führen Sie die Erweiterung entweder durch das Fenster Apps oder Erweiterungen aus und Sie sollten die folgenden: sehen:

Als n?chstes werden wir einen Ajax -Anruf erstellen, der ausgel?st wird, wenn das Fenster startet, in dem Tweets von einer Service -URL abgerufen werden. Wir werden einen Dienst nutzen, der auf Heroku gehostet wird. Der Service hat einige Einschr?nkungen. Es holt nur Tweets mit dem Hashtag Perkytweets , dies reicht für unser Beispiel aus.
Wir werden jQuery verwenden, um unseren Ajax -Anruf zu t?tigen. Laden Sie ihn also in den Script -Ordner herunter und fügen Sie ihn in Index.html ein, zum Beispiel:
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><meta</span> charset<span>="utf-8"</span>></span> </span> <span><span><span><title</span>></span>Chrome Tweet App<span><span></title</span>></span> </span><span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><span><span><h1</span>></span>Tweets !!<span><span></h1</span>></span> </span> <span><span><span></body</span>></span> </span> <span><span><span></html</span>></span></span>
Erstellen Sie nun eine neue Datei namens script.js im Scripts -Ordner und erstellen Sie den Ajax -Aufruf wie gezeigt:
<span><span><span><script</span> type<span>="text/javascript"</span> src<span>="scripts/jquery-1.11.1.min.js"</span>></span><span><span></script</span>></span></span>
incise script.js in index.html:
einschlie?en<span>$(function() { </span> $<span>.ajax({ </span> <span>type: 'GET', </span> <span>url: 'http://twittersearchapi.herokuapp.com/search', </span> <span>success: function(response) { </span> <span>var resObj = JSON.parse(response); </span> <span>console.log(resObj); </span> <span>}, </span> <span>error: function(error) { </span> <span>console.log(error); </span> <span>} </span> <span>}); </span><span>});</span>
?ffnen Sie nun Tools -> Erweiterungen (oder Weitere Tools ) und klicken Sie auf nachladen , um die ?nderungen widerzuspiegeln. Klicken Sie als n?chstes auf die App, um sie neu zu gestalten. Wenn Sie die Chromkonsole überprüfen (nur die normale Konsole, auf die Sie in Chrome zugreifen), sollte die Antwort der Service -URL aus angezeigt werden.
Als n?chstes zeigen wir die Antworten in index.html an. Wir werden Bootstrap zum Styling der Seite verwenden.
Erstellen Sie einen Stylesordner in Ihrem Projektordner und laden Sie die Bootstrap -CSS -Dateien in den Ordner herunter. Fügen Sie die Bootstrap -CSS -Datei in index.html zu.
ein<span><span><span><script</span> type<span>="text/javascript"</span> src<span>="scripts/script.js"</span>></span><span><span></script</span>></span></span>
Fügen Sie ein UL -Element in Index.html ein, um die Tweets anzuzeigen. So sollte index.html jetzt aussehen:
<span><span><span><link</span> href<span>="styles/bootstrap.min.css"</span> rel<span>="stylesheet"</span>></span></span>
Innerhalb des AJAX -Erfolgsaufrufs in scripts.js enthalten der folgende Code, um die von dem Service Call in die UL in INDEX abgerufenen Elemente anzuh?ngen.
<span><span><!DOCTYPE html></span> </span><span><span><span><html</span>></span> </span> <span><span><span><head</span>></span> </span> <span><span><span><meta</span> charset<span>="utf-8"</span>></span> </span> <span><span><span><title</span>></span>Chrome Tweet App<span><span></title</span>></span> </span> <span><span><span><link</span> href<span>="styles/bootstrap.min.css"</span> rel<span>="stylesheet"</span>></span> </span> <span><span><span><script</span> type<span>="text/javascript"</span> src<span>="scripts/jquery-1.11.1.min.js"</span>></span><span><span></script</span>></span> <!-- Check this matches your jQuery version and file name --> </span> <span><span><span><script</span> src<span>="scripts/script.js"</span>></span><span><span></script</span>></span> </span> <span><span><span></head</span>></span> </span> <span><span><span><body</span>></span> </span> <span><span><span><h1</span>></span>Tweets !!<span><span></h1</span>></span> </span> <span><span><span><ul</span> id<span>="ulTweets"</span> class<span>="list-group"</span>></span> </span> <span><span><span></ul</span>></span> </span><span><span><span></body</span>></span> </span> <span><span><span></html</span>></span></span>neu laden und neu starten, und Sie sollten in der Lage sein, einen Bildschirm voller Tweets zu sehen.
Erstellen einer Chrom -App für Android
Da wir unsere App auf Android ausführen, stellen Sie sicher, dass Sie Java Jdk 7 oder h?her, Android SDK 4.4.2 oder h?her und Apache -Ant in Ihrem System installiert.
Wir ben?tigen auch das CCA -Befehlszeilenwerkzeug. Sie k?nnen es mit
installieren<span>{ </span> <span>"manifest_version": 2, </span> <span>"name": "Tweet Chrome App", </span> <span>"version": "1.0", </span> <span>"app": { </span> <span>"background": { </span> <span>"scripts": ["scripts/main.js"] </span> <span>} </span> <span>}, </span> <span>"permissions": [ </span> <span>"http://twittersearchapi.herokuapp.com/search" </span> <span>] </span><span>}</span>
detaillierte Informationen zum Einrichten Ihrer Umgebung zum Portieren von Chrome -Apps in Android und iOS finden Sie in den offiziellen Dokumenten.
Sobald die Einrichtung unserer Umgebung abgeschlossen ist, werden wir ein neues Projekt von unserem vorhandenen Twitterchromeapp zum Port nach Android erstellen. Führen Sie den folgenden Befehl aus, um das Projekt zu erstellen:
chrome<span>.app.runtime.onLaunched.addListener(function() { </span> <span>// creating window for app code will be here </span><span>});</span>
Navigieren Sie zu TwitterAppforandroid und führen Sie den folgenden Befehl aus, um das Projekt im Android -Emulator auszuführen:
chrome<span>.app.runtime.onLaunched.addListener(function() { </span> <span>var screenWidth = screen.availWidth; </span> <span>var screenHeight = screen.availHeight; </span> <span>var width = 500; </span> <span>var height = 300; </span> chrome<span>.app.window.create('index.html', { </span> <span>id: "tweetAppID", </span> <span>outerBounds: { </span> <span>width: width, </span> <span>height: height, </span> <span>left: Math.round((screenWidth - width) / 2), </span> <span>top: Math.round((screenHeight - height) / 2) </span> <span>} </span> <span>}); </span><span>});</span>
Sobald der Emulator erfolgreich gestartet wird, sollten Sie die App im Emulator sehen.
Schlussfolgerung
In diesem Tutorial haben wir gesehen, wie man eine einfache Chrome -App erstellt und auf die Android -Plattform portiert. Weitere Informationen zum Ausführen von Chrome -Apps auf mobilen Ger?ten mithilfe von Apache Cordova finden Sie in den Dokumenten der Beamten.
Was denkst du über diese Chrome -App -Option zum Erstellen einer mobilen App? Bietet es Vorteile gegenüber nur einer Standard -HTML-, CSS- und JavaScript -Web -App in Cordova?
h?ufig gestellte Fragen (FAQs) zum Ausführen von Chrome -Apps auf dem mobilen Ger?t mithilfe von Cordova
Wie kann ich Cordova auf meinem System installieren? Sobald Node.js installiert ist, k?nnen Sie Cordova mit NPM (Node Package Manager) installieren, indem Sie den Befehl npm install -g cordova in Ihrem Terminal oder Eingabeaufforderung ausführen. Das -G -Flag wird verwendet, um Cordova global in Ihrem System zu installieren. Ger?te mit Cordova müssen Sie Folgendes auf Ihrem System installieren: node.js, cordova, Chrome -Apps für mobile Toolchain und Android SDK oder iOS SDK Abh?ngig von der Plattform, die Sie abzielen.
Wie kann ich meine Chrome -App in ein Cordova -Projekt umwandeln? durch den Befehl erstellen und den Namen Ihres Projekts. Zum Beispiel erstellen CCA MyProject. Dies erstellt ein neues Cordova -Projekt in einem Verzeichnis namens MyProject.
Wie kann ich meinem Cordova -Projekt Plattformen hinzufügen? Befehl hinzufügen, gefolgt vom Namen der Plattform. Zum Beispiel wird die Cordova -Plattform hinzufügen Android die Android -Plattform zu Ihrem Projekt hinzufügen.
Wie kann ich mein Cordova -Projekt erstellen? gefolgt vom Namen der Plattform. Zum Beispiel baut Cordova Build Android Ihr Projekt für die Android -Plattform auf.
Wie kann ich mein Cordova -Projekt auf einem Ger?t ausführen? Zum Beispiel wird Cordova Run Android Ihr Projekt auf einem Android -Ger?t ausführen.
Wie kann ich mein Cordova -Projekt debuggen? Dazu müssen Sie zu Chrome navigieren: // in Ihrem Chrome -Browser inspizieren und auf den Link unter Ihrem Ger?t inspizieren. ??>
W?hrend mit Cordova Sie Chrome -Apps auf einem mobilen Ger?t ausführen k?nnen, gibt es einige Einschr?nkungen. Zum Beispiel werden nicht alle Chrom -APIs unterstützt, und es kann Unterschiede im Verhalten zwischen der Chrome -App und der Cordova -App aufgrund von Unterschieden in den zugrunde liegenden Plattformen geben.Kann ich Cordova -Plugins in meiner Chrome -App verwenden? ??>
Ja, Sie k?nnen Cordova -Plugins in Ihrer Chrome -App verwenden. Dazu müssen Sie das Plugin mit dem Befehl cordova plugin hinzufügen, gefolgt vom Namen des Plugins.
Wie kann ich mein Cordova -Projekt aktualisieren? Cordova -Projekt k?nnen Sie den Befehl cordova plattform -update verwenden, gefolgt vom Namen der Plattform. Zum Beispiel wird die Cordova -Plattform -Update Android die Android -Plattform in Ihrem Projekt aktualisieren.
Das obige ist der detaillierte Inhalt vonAusführen von Chrome -Apps auf einem mobilen Ger?t mit Cordova. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Es gibt drei g?ngige M?glichkeiten, HTTP-Anforderungen in Node.js zu initiieren: Verwenden Sie integrierte Module, Axios und Knotenfetch. 1. Verwenden Sie das integrierte HTTP/HTTPS-Modul ohne Abh?ngigkeiten, das für grundlegende Szenarien geeignet ist, jedoch eine manuelle Verarbeitung von Datengen?hten und Fehlerüberwachung erfordert, z. 2.Axios ist eine auf Versprechen basierende Bibliothek von Drittanbietern. Es verfügt über eine kurze Syntax und leistungsstarke Funktionen, unterstützt Async/Auseait, automatische JSON -Konvertierung, Interceptor usw. Es wird empfohlen, asynchrone Anforderungsvorg?nge zu vereinfachen. 3.Node-Fetch bietet einen Stil ?hnlich dem Browser-Abruf, basierend auf Versprechen und einfacher Syntax

JavaScript -Datentypen sind in primitive Typen und Referenztypen unterteilt. Zu den primitiven Typen geh?ren String, Anzahl, Boolesche, Null, undefiniertes und Symbol. Die Werte sind unver?nderlich und Kopien werden bei der Zuweisung von Werten kopiert, sodass sie sich nicht gegenseitig beeinflussen. Referenztypen wie Objekte, Arrays und Funktionen speichern Speicheradressen, und Variablen, die auf dasselbe Objekt zeigen, wirkt sich gegenseitig aus. Typeof und Instanz k?nnen verwendet werden, um die Typen zu bestimmen, aber auf die historischen Probleme der TypeOfnull zu achten. Das Verst?ndnis dieser beiden Arten von Unterschieden kann dazu beitragen, einen stabileren und zuverl?ssigeren Code zu schreiben.

Hallo, JavaScript -Entwickler! Willkommen in den JavaScript -Nachrichten dieser Woche! Diese Woche konzentrieren wir uns auf: Oracas Markenstreit mit Deno, neue JavaScript -Zeitobjekte werden von Browsern, Google Chrome -Updates und einigen leistungsstarken Entwickler -Tools unterstützt. Fangen wir an! Der Markenstreit von Oracle mit dem Versuch von Deno Oracle, ein "JavaScript" -Marke zu registrieren, hat Kontroversen verursacht. Ryan Dahl, der Sch?pfer von Node.js und Deno, hat eine Petition zur Absage der Marke eingereicht, und er glaubt, dass JavaScript ein offener Standard ist und nicht von Oracle verwendet werden sollte

Cacheapi ist ein Tool, das der Browser zur Cache -Netzwerkanfragen bereitstellt, das h?ufig in Verbindung mit dem Servicearbeiter verwendet wird, um die Leistung der Website und die Offline -Erfahrung zu verbessern. 1. Es erm?glicht Entwicklern, Ressourcen wie Skripte, Stilbl?tter, Bilder usw. Zu speichern; 2. Es kann die Cache -Antworten entsprechend den Anfragen übereinstimmen. 3. Es unterstützt das L?schen bestimmter Caches oder das L?schen des gesamten Cache. 4.. Es kann Cache -Priorit?ts- oder Netzwerkpriorit?tsstrategien durch Servicearbeiter implementieren, die sich auf Fetch -Ereignisse anh?ren. 5. Es wird h?ufig für die Offline -Unterstützung verwendet, die wiederholte Zugriffsgeschwindigkeit, die Vorspannungs -Schlüsselressourcen und den Inhalt des Hintergrundaktualisierungss beschleunigen. 6. Wenn Sie es verwenden, müssen Sie auf die Cache -Versionskontrolle, Speicherbeschr?nkungen und den Unterschied zum HTTP -Caching -Mechanismus achten.

Versprechen ist der Kernmechanismus für den Umgang mit asynchronen Operationen in JavaScript. Das Verst?ndnis von Kettenanrufen, Fehlerbehebung und Kombination ist der Schlüssel zum Beherrschen ihrer Anwendungen. 1. Der Kettenaufruf gibt ein neues Versprechen durch .then () zurück, um asynchrone Prozessverkampferung zu realisieren. Jeder. Dann () erh?lt das vorherige Ergebnis und kann einen Wert oder ein Versprechen zurückgeben; 2. Die Fehlerbehandlung sollte .Catch () verwenden, um Ausnahmen zu fangen, um stille Ausf?lle zu vermeiden, und den Standardwert im Fang zurückgeben, um den Prozess fortzusetzen. 3. Combinatoren wie Promise.All () (erfolgreich erfolgreich erfolgreich nach allen Erfolg), Versprechen.Race () (Die erste Fertigstellung wird zurückgegeben) und Versprechen.Allsettled () (Warten auf alle Fertigstellungen)

JavaScript-Array-integrierte Methoden wie .Map (), .filter () und .Reduce () k?nnen die Datenverarbeitung vereinfachen. 1) .Map () wird verwendet, um Elemente eins in eins um Neuarrays zu konvertieren; 2) .Filter () wird verwendet, um Elemente durch Bedingung zu filtern; 3) .Reduce () wird verwendet, um Daten als einzelner Wert zu aggregieren; Missbrauch sollte bei der Verwendung vermieden werden, was zu Nebenwirkungen oder Leistungsproblemen führt.

Die Ereignisschleife von JavaScript verwaltet asynchrone Vorg?nge, indem sie Call -Stapel, Webapis und Task -Warteschlangen koordinieren. 1. Der Anrufstack führt synchronen Code aus, und wenn er auf asynchrone Aufgaben begegnet, wird er zur Verarbeitung an Webapi übergeben. 2. Nachdem das Webapi die Aufgabe im Hintergrund abgeschlossen hat, wird der Rückruf in die entsprechende Warteschlange (Makroaufgabe oder Micro -Aufgabe) eingebaut. 3. Die Ereignisschleife prüft, ob der Anrufstapel leer ist. Wenn es leer ist, wird der Rückruf aus der Warteschlange herausgenommen und zur Ausführung in den Anrufstapel geschoben. V. 5. Das Verst?ndnis der Ereignisschleife hilft zu vermeiden, den Haupt -Thread zu blockieren und die Codeausführungsreihenfolge zu optimieren.

Ereignisblasen verbreiten sich vom Zielelement nach au?en zum Vorfahrknoten aus, w?hrend Ereignisfassungen sich von der ?u?eren Schicht nach innen zum Zielelement ausbreiten. 1. Ereignisblasen: Nach dem Klicken auf das untergeordnete Element l?st das Ereignis den H?rer des übergeordneten Elements nach oben aus. Nach dem Klicken auf die Schaltfl?che gibt es beispielsweise zuerst die untergeordnete und dann entzündete Eltern aus. 2. Ereigniserfassung: Stellen Sie den dritten Parameter auf True ein, so dass der H?rer in der Erfassungsstufe ausgeführt wird, z. B. das Ausl?sen des Capture -Listeners des übergeordneten Elements, bevor Sie auf die Schaltfl?che klicken. 3. Praktische Verwendungszwecke umfassen ein einheitliches Management von Ereignissen für Kinderelemente, Vorverarbeitung und Leistungsoptimierung von Abfangen. V.
