Dieses Mal zeige ich Ihnen, wie Sie mit js in der Android-Entwicklung interagieren. Was sind die Vorsichtsmaßnahmen für die Interaktion mit js in der Android-Entwicklung?
Wenn wir Android-Anwendungen entwickeln, müssen wir uns häufig mit Webseiten befassen. Wenn wir jetzt eine App zum Mitnehmen erstellen, wird auf der Startseite der App eine Umfrage-Werbefläche angezeigt Wenn der Benutzer auf ein Restaurant klickt, wird die WAP-Seite angezeigt. Möglicherweise werden auf dieser Webseite Werbeinformationen angezeigt. Zu diesem Zeitpunkt müssen wir Java-Code mit js aufrufen, um dies zu erreichen. Oder wenn wir eine WAP-Seite teilen müssen, müssen wir möglicherweise auch js verwenden, um Java-Code aufzurufen, um den Freigabevorgang durchzuführen. Es gibt viele Szenarien wie dieses. Wenn wir diese Funktion implementieren müssen, müssen wir die Interaktion zwischen Java und js verstehen.
Verwendung von WebView
Wenn wir eine Webseite in Android anzeigen möchten, verwenden wir grundsätzlich die WebView-Komponente. Ihre grundlegende Verwendung ist ebenfalls sehr einfach Um die Baidu-Homepage zu laden, können Sie es so schreiben: Deklarieren Sie es zuerst in der Layoutdatei
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <WebView android:id="@+id/web_view" android:layout_width="match_parent" android:layout_height="match_parent" /></RelativeLayout>
und verwenden Sie es dann gleichzeitig in der Java-Datei
WebView webView = (WebView) findViewById(R.id.web_view); webView.loadUrl("http://www.baidu.com");
Mit WebView können wir beispielsweise auch einige Standardeinstellungen ändern. Wenn wir beispielsweise die Unterstützung für Javascript aktivieren und zoomen möchten, müssen wir die folgenden Einstellungen vornehmen:
// 启用javascriptwebView.getSettings().setJavaScriptEnabled(true); webView.getSettings().setUseWideViewPort(true);//是否可以缩放webView.getSettings().setSupportZoom(true); webView.getSettings().setBuiltInZoomControls(true);if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { getSettings().setDisplayZoomControls(false); }
Wenn wir jedoch die Seite laden möchten, müssen wir zwei andere Klassen verwenden, um verschiedene Benachrichtigungen zu verarbeiten, Ereignisse anzufordern oder den Ladefortschritt der Seite zu überwachen: WebViewClient und WebChromeClient. Unter diesen wird WebViewClient hauptsächlich zum Abhören von Benachrichtigungen oder Anforderungsereignissen verwendet. Die Methoden, die wir in der Entwicklung verwenden können, sind hauptsächlich die folgenden:
onPageStarted
onPageFinished
onReceivedError
shouldOverrideUrlLoading
Der WebChromeClient wird verwendet, um Javascript, Website-Symbole, Website-Titel, Ladefortschritt usw. zu verarbeiten. Wenn wir WeChat verwenden und eine Webseite öffnen, sehen wir darauf einen grünen Streifen. Fortschrittsbalken, diese Funktion wird durch Überschreiben der onProgressChanged-Methode von WebChromeClient erreicht:
public class CustomWebClient extends WebChromeClient { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { mProgressBar.setVisibility(GONE); } else { if (mProgressBar.getVisibility() == GONE) { mProgressBar.setVisibility(VISIBLE); } mProgressBar.setProgress(newProgress); } super.onProgressChanged(view, newProgress); } }
Darüber hinaus bietet WebView auch die Funktion, Javascript beispielsweise direkt auszuführen. Wir können einfach Pop machen Öffnen Sie ein Dialogfeld:
webView.loadUrl("javascript:alert(\"提示信息!\");");
Wenn wir js ausführen möchten, müssen natürlich zwei Bedingungen erfüllt sein. Die erste besteht darin, die Javascript-Unterstützung in den Einstellungen zu aktivieren, das heißt, wir müssen setJavascriptEnabled aufrufen (wahr), die zweite besteht darin, WebChromeClient einzurichten, beide sind unverzichtbar.
Ich glaube, dass Sie die Methoden beherrschen, nachdem Sie diese Fälle gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!
Verwandte Lektüre:
JavaScript-Grundlagen-Datentypen
So merken Sie sich Konto und Passwort mit JS-Code
Das obige ist der detaillierte Inhalt vonSo interagieren Sie mit js in der Android-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!