Pour masquer l’URL dans une webview :
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class WebViewActivity extends Activity {
private WebView webView;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//-- Affichage du Layout contenant la WebView
setContentView(R.layout.webview);
//-- déclaration de la webview
webView =(WebView)findViewById(R.id.webView1);
webView.setWebViewClient(new WebViewClient());
webView .getSettings().setJavaScriptEnabled(true);
webView .getSettings().setDomStorageEnabled(true);
//-- Chargement avec l'url choisie
webView.loadUrl("http://www.google.com");
}
}
Avec le Layout suivant :
<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/webView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
Un exemple est téléchargeable ici https://app.box.com/s/lb9khgglrq74fhxmmvn3
Pour afficher les caractères accentués, le javascript et des fonctionnalités HTML 5 (Ajax) :
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //-- Affichage du Layout contenant la WebView setContentView(R.layout.webview); //-- déclaration de la webview webView =(WebView)findViewById(R.id.webView1); webView.setWebViewClient(new WebViewClient()); //-- Autorise le JavaScript webView .getSettings().setJavaScriptEnabled(true); //-- Pour HTML5 webView .getSettings().setDomStorageEnabled(true); //-- Permet l'affichage de caractères accentués webView .getSettings().setDefaultTextEncodingName("utf-8"); //-- Chargement avec l'url choisie webView.loadUrl("http://xxx.com/page.html"); }
Chargement d’une page locale contenant du JavaScript.
1°) créer à la racine, un répertoire « assets », placer dedans la page html
2°) créer un layout avec une webview
<?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<EditText
android:id="@+id/editTextTextPersonName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:inputType="textPersonName"
android:text="Example de super jeux" />
<WebView
android:id="@+id/Webview1"
android:layout_width="match_parent"
android:layout_height="645dp" />
</LinearLayout>
</androidx.coordinatorlayout.widget.CoordinatorLayout>
3°) code :
package com.andrologiciels.weblocal;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebSettings;
import android.webkit.WebView;
public class MainActivity extends Activity {
WebView WebViewWithJavaScript;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebViewWithJavaScript = (WebView) findViewById(R.id.Webview1);
WebSettings webSetting = WebViewWithJavaScript.getSettings();
webSetting.setJavaScriptEnabled(true);
WebViewWithJavaScript.setWebViewClient(new WebViewClient());
WebViewWithJavaScript.loadUrl("file:///android_asset/Apple.html");
}
private class WebViewClient extends android.webkit.WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
}
}
Votre commentaire