Einbetten von HTML in Ihre Android-Apps

In den letzten zehn Jahren habe ich eine grundlegende Veränderung in der Denkweise des Software-Engineerings erlebt. Anstatt das beste Werkzeug für den Job auszuwählen, haben Softwareprofis jetzt die Freiheit, in Bezug auf die besten Werkzeuge für eine bestimmte Aufgabe zu denken. Fortschritte bei Plattformen und Compilern haben zu Mix-and-Match-Technologien geführt. Android ist keine Ausnahme.

Wenn ein Projekt über eine komplexe Benutzeroberfläche verfügt, stehen eine Reihe von GUI-Toolkits sowie Standards wie OpenGL zur Verfügung. Wenn eine Anwendung rohe Verarbeitungsleistung benötigt, können Entwickler Methoden direkt in C ++ schreiben und diese Methoden dann über die JNI von Android aufrufen. Und wenn eine Anwendung lediglich HTML und JavaScript anzeigen muss, unabhängig davon, ob sich dieser Inhalt lokal oder remote befindet, bieten moderne Plattformen wie Android einen Mechanismus, um dies zu tun.

Dieses Tutorial zeigt das Anzeigen einer Remote-Webseite im Kontext einer nativen Android-Anwendung. Sie können den folgenden detaillierten Anweisungen folgen oder einfach das gesamte Projekt herunterladen und in Eclipse importieren.

1. Starten Sie ein neues Android-Projekt in Eclipse. Ziel Android 1.6 oder höher. Vergessen Sie nicht, die Startaktivität Main.java umzubenennen.

2. Öffnen Sie die Android-Manifestdatei für Ihr Projekt und fügen Sie eine Internetberechtigung hinzu.

 AndroidManifest.xml 

"1.0" encoding = "utf-8" ?>

"http://schemas.android.com/apk/res/android"

package = "com.authorwjf.web_view"

android: versionCode = "1"

android: versionName = "1.0" >
 "4" /> 

"android.permission.INTERNET" />

android: icon = "@ drawable / ic_launcher"

android: label = "@ string / app_name" >

android: name = ".Main"

android: label = "@ string / app_name" >

"android.intent.action.MAIN" />
 "android.intent.category.LAUNCHER" /> 

3. Im Ordner / res / layout müssen wir unser main.xml-Layout definieren. Beachten Sie die Parameter layout_weight? Wir brauchen diese, um unseren HTML-Inhalt zwischen den beiden Textansichten zu "schieben". Ohne Angabe eines Gewichts ermöglicht der Layout-Manager von Android, dass die Webansicht den gesamten unteren Teil des Displays belegt.

 Main.xml 

"1.0" encoding = "utf-8" ?>

"http://schemas.android.com/apk/res/android"

android: layout_width = "fill_parent"

android: layout_height = "fill_parent"

android: orientierung = "vertikal" >

android: layout_width = "fill_parent"

android: layout_height = "wrap_content"

android: text = "Meine Webansicht"

android: layout_weight = ".1" />

android: layout_width = "fill_parent"

android: layout_height = "wrap_content"

android: id = "@ + id / my_webview"

android: layout_weight = ".8"

android: layout_margin = "16dip" />

android: layout_width = "fill_parent"

android: layout_height = "wrap_content"

android: text = "Meine Webansicht"

android: layout_weight = ".1"

Android: Schwerkraft = "unten" />

4. Wir ändern die Datei /src/Main.java, um eine Remote-URL in die Webansicht zu verschieben. All dies können wir beim Überschreiben der on create-Methode tun. Achten Sie besonders auf die Erstellung und Zuweisung eines neuen Web View-Clients. Der Grund dafür ist, dass viele Webseiten eine Umleitung durchführen, wenn sie einen mobilen Client erkennen. Wenn diese Umleitung erfolgt, startet Android standardmäßig den Standardbrowser und zeigt die Seite dort an. Wenn Sie die Remote-Seite in Ihrer Aktivität behalten möchten, ist das Erstellen eines neuen Web View-Clients mit einer Überschreibung von shouldOverrideUrlLoading ein schnelles und effektives Mittel.

 Main.java- Paket com.authorwjf.web_view; 
 android.app.Activity importieren ; import android.os.Bundle; import android.webkit.WebView; android.webkit.WebViewClient importieren ; 
 öffentliche Klasse Main erweitert Aktivität { 

/** Wird aufgerufen, wenn die Aktivität erstellt wird. * /

@Override

public void onCreate (Bundle savedInstanceState) { super .onCreate (savedInstanceState);

setContentView (R.layout. main );

WebView wv = (WebView) findViewById (R.id. My_webview );

wv.setWebViewClient ( neuer WebViewClient () {

@Override

public boolean shouldOverrideUrlLoading (WebView-Ansicht, String-URL) {

view.loadUrl (url);

return true ;

}}

});

wv.loadUrl ("http://www.techrepublic.com");

}}

}}
Das sollte es gerade tun. Führen Sie die resultierende Anwendung im Simulator aus, und Sie sehen unsere beiden Textbeschriftungen mit einer Webseite in der Mitte ( Abbildung A ). Abbildung A.

Unser Beispiel ist zwar nicht sehr praktisch, aber es erfordert nicht viel Vorstellungskraft, um die Leistung und Zeitersparnis zu realisieren, die das Webansicht-Widget für Ihre digitale Toolbox mit sich bringt. Und denken Sie daran, dass sich der Inhalt nicht remote befinden muss. Ich verwende häufig die Webansicht als schnelle und bequeme Methode zum Anzeigen von Benutzertabellen und Berichten.

Wenn Sie das Widget für die Webansicht noch nicht in Ihren Android-Anwendungen verwendet haben, empfehlen wir Ihnen, einen Schritt zurückzutreten und zu prüfen, ob es in Ihrem Projekt Stellen gibt, an denen die Verwendung von HTML und JavaScript möglicherweise sinnvoll ist.

© Copyright 2021 | mobilegn.com