Arbeiten mit der Android WebView
Ich arbeite sowohl in meinen privaten Projekten, wie auch professionell, mit der Android WebView. Dabei hat sich eine gewisse Hass-Liebe entwickelt. Denn zum einen bietet die WebView eine gute und schnelle Möglichkeit HTML Content anzuzeigen und das direkt im Umfeld der eigenen App. Auf der anderen Seite sollte man aber auch einige Dinge beachten. Dazu gehört unter anderem: Niemand fasst den Draw-Cycle der WebView an, das Layout der WebView gehört einzig und allein der WebView, die WebView akzeptiert kein / sehr wenig anderes Scroll-Handling und verschiedene Android Versionen haben verschiedene WebViews und dies muss man einfach akzeptieren. Die Liste geht weiter und im Allgemeinen sollte man einfach versuchen der WebView nicht in ihre internen Abläufe zu springen. Ich tue dies hin und wieder trotzdem und muss meine Gehirnwindungen dann durchaus malträtieren, um vielleicht eine Lösung zu finden.
Solltet ihr Web Content anzeigen und vielleicht sogar mit enthaltenem JavaScript kommunizieren wollen, schaut einfach mal in das hier verlinkte Tutorial open_in_new von Google. Im Prinzip ist es recht einfach, denn ihr erstellt die WebView (WebView Dokumentation open_in_new), legt die Einstellungen (WebSettings Dokumentation open_in_new) und das JavaScript Interface fest (addJavascriptInterface Dokumentation open_in_new) und schon geht es los. Ihr ladet eine interne HTML Datei mit JavaScript und diese kann dann mit eurer Android App kommunizieren. Falls Zugriff auf externe Seiten gewünscht ist kann die android.permission.INTERNET Berechtigung helfen.
Eine Sache die meiner Meinung nach in Googles Tutorial fehlt, ist die Kommunikation von Android zur WebView, denn auch dies ist möglich. Dafür müsst ihr ein entsprechendes Interface in eurem JavaScript Code definieren und dann die Methode public void evaluateJavascript(String script, ValueCallback