Maison > Article > interface Web > Comment interagir avec js dans le développement Android
Cette fois, je vais vous montrer comment interagir avec js dans le développement Android. Quelles sont les précautions pour interagir avec js dans le développement Android, jetons un coup d'œil.
Lorsque nous développons des applications Android, nous devons souvent gérer des pages Web. Si nous créons une application à emporter maintenant, il y aura un espace publicitaire de sondage sur la page d'accueil de l'application lorsque nous cliquons sur l'une d'entre elles. eux, il sautera vers une page Web Wap. Il peut y avoir des informations promotionnelles pour plusieurs restaurants dans cette page Web. Après que l'utilisateur clique sur un restaurant, nous espérons que la page WAP apparaîtra pour afficher les détails du restaurant. Pour le moment, nous devons utiliser js pour appeler du code java pour y parvenir. Ou, si nous devons partager dans une page wap, nous devrons peut-être également utiliser js pour appeler du code java afin d'effectuer l'opération de partage. Il existe de nombreux scénarios comme celui-ci. Si nous devons implémenter cette fonction, nous devons comprendre l'interaction entre Java et js.
Utilisation de WebView
Si nous voulons afficher une page Web sous Android, nous utilisons essentiellement le composant WebView. Son utilisation de base est également très simple. Pour charger la page d'accueil de Baidu, vous pouvez l'écrire comme ceci : Déclarez-la d'abord dans le fichier de mise en page
<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>
puis utilisez-la dans le fichier java
WebView webView = (WebView) findViewById(R.id.web_view); webView.loadUrl("http://www.baidu.com");
En même temps , WebView nous permet également de modifier certains paramètres par défaut. Par exemple, si nous voulons activer la prise en charge de javascript et pouvoir zoomer, nous devons effectuer les paramètres suivants :
// 启用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); }
Cependant, si nous voulons charger la page Lors du traitement de diverses notifications, des événements de requête ou du suivi de la progression du chargement de la page, vous devez utiliser deux autres classes : WebViewClient et WebChromeClient. Parmi elles, WebViewClient est principalement utilisé pour écouter les notifications ou demander des événements. Les méthodes que nous pouvons utiliser en développement sont principalement les suivantes :
onPageStarted
onPageFinished
onReceivedError
shouldOverrideUrlLoadingLe WebChromeClient est utilisé pour gérer le javascript, les icônes de sites Web, les titres de sites Web, la progression du chargement, etc. Lorsque nous utilisons WeChat, si nous ouvrons une page Web, nous verrons une bande verte dessus.Barre de progression, cette fonction est obtenue en remplaçant la méthode onProgressChanged de WebChromeClient :
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); } }De plus, WebView fournit également la fonction d'exécuter directement javascript, par exemple, nous pouvons simplement pop ouvrir une boîte de dialogue :
webView.loadUrl("javascript:alert(\"提示信息!\");");Bien sûr, si nous voulons exécuter js, alors deux conditions doivent être remplies. La première est d'activer la prise en charge de javascript dans les paramètres, c'est-à-dire que nous devons appeler setJavascriptEnabled. (vrai), la seconde consiste à configurer WebChromeClient, les deux sont indispensables. Je pense que vous maîtrisez les méthodes après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php ! Lecture connexe :
Types de données de base JavaScript
Comment se souvenir du compte et du mot de passe avec le code JS
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!