Wie erstelle ich XWalkView innerhalb eines Dienstes?

8

Ich arbeite daran, die native Webansicht in unserer Android App durch die Implementierung von Crosswalk zu ersetzen.

Wir konnten die meisten Funktionen der App nutzen, aber das Erstellen eines XWalkView innerhalb eines Dienstes ist immer noch ein Problem, das wir versuchen zu überwinden. Das Erstellen eines Webview ist kein Problem, aber ein XWalkView erfordert einen Aktivitätskontext, der verwendet werden soll. Wenn jemand hier auf dieses Problem gestoßen ist und von einer möglichen Lösung oder Umgehung weiß, würde ich es sehr begrüßen. Danke, und wenn Sie weitere Informationen benötigen, fragen Sie bitte.

    
JGray 06.01.2016, 22:40
quelle

2 Antworten

3

Von butelo in GitHub :

  

Also, was ist Zebrastreifen und warum kümmert es mich? Werfen Sie einen Blick auf die Website: Ссылка

     

CrossWalk ist eine HTML5-Laufzeitumgebung, mit der Sie HTML5-Anwendungen mit nativen Funktionen erstellen können. Sie können CrossWalk zum Erstellen verwenden   HTML5-only-Anwendungen für Android (x86 und Arm-Architekturen) und   Tizen, aber Sie können CrossWalk auch als Ansicht innerhalb eines Android verwenden   Projekt.

     

Dies bedeutet, dass Sie Android WebView durch XWalkView ersetzen können und einige zusätzliche Funktionen wie:

erhalten      

-WebGl

     

-WebRTC

     

-WebAudio

     

Ссылка

     

Wie verbinde ich ein CrossWalk WebView, von nun an ein XWalkView, in eine Android-Anwendung, um all diese Goodies auf meinem Hybrid zu haben   Anwendung (Android Native mit HTML5-Funktionen)

     

Zuerst müssen Sie die Runtime herunterladen:

     

Ссылка

     

Laden Sie eine beliebige Version von Android (ARM) herunter.

     

In der Datei finden Sie alles, was Sie benötigen, um in einer HTML5-Anwendung zu arbeiten.

     

Für diesen Test müssen wir das xwalk-core-library Projekt in unserem Eclipse importieren

     

Erstellen Sie ein neues Android-Projekt mit einer grundlegenden Aktivität, verknüpfen Sie es mit der Bibliothek und fügen Sie diesen Code in die Aktivität ein:

%Vor%      

Setze das auf dein Hauptlayout

%Vor%      

schließlich in Ihrem /assets/www Ordner legen Sie Ihre HTML-Sachen und das ist es

    
arodriguezdonaire 14.01.2016 14:27
quelle
1

Ich habe nach dem XWalkView.java-Code gesucht, damit ich etwas Nützliches machen kann, aber noch nicht veröffentlicht ist. Aber es gibt zumindest eine gute Lösung, die funktionieren kann: Erstellen Sie zum ersten Mal die XWalkView-Instanz in einer Aktivität. dann finden Sie eine Möglichkeit, es in einem Dienst zu speichern und dieselbe Instanz immer dann wiederzuverwenden, wenn sich Ihre Aktivität mit dem Dienst verbindet (auf diese Weise werden Ihre HTML- und JS-Dateien nicht erneut geladen;))

Nach dem Googling habe ich verstanden, dass die XWalkView-Instanz benötigt und Aktivität, so dass es einige Lebenszyklus-Listener registriert. Wenn zum Beispiel die Aktivität zerstört wird, wird die XwalkView.onDestroy-Methode aufgerufen (also musste ich sie in meinem Fall deaktivieren, um dieselbe Instanz zu behalten und sie wiederzuverwenden)

Hier ist mein einfaches Beispiel: MainActivity.Java

%Vor%

Die Serviceklasse

%Vor%

Ich hoffe, es wird für Sie funktionieren.

    
Ramdane Oualitsen 01.02.2016 20:43
quelle