Android在WebView中載入HTML並實現互動
正在開發一個地圖程式, 相對於用XML寫安卓介面, 我更願意用這個方法, 就是不用Android自帶的MapView, 而是使用之前就已經比較熟悉的Google Maps JavaScript API, 在Android的WebView中載入HTML程式碼, 利用Android提供的強大的Java與Js的互動功能, 用網頁作為介面來開發程式,同時也可以用Js回撥機器的本地功能比如GPS等.
下面提供一個演示的例子,程式碼如下:
package com.aloong.map; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.webkit.WebSettings; import android.webkit.WebView; 9public class MyMap extends Activity { private static String TAG = MyMap.class.getName(); private WebView mWebView; private Handler mHandler; private WebSettings mWebSettings; /** *//** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mWebView = (WebView) this.findViewById(R.id.webview); mHandler = new Handler(); // 設定支援JavaScript等 mWebSettings = mWebView.getSettings(); mWebSettings.setJavaScriptEnabled(true); mWebSettings.setBuiltInZoomControls(true); mWebSettings.setLightTouchEnabled(true); mWebSettings.setSupportZoom(true); mWebView.setHapticFeedbackEnabled(false); // mWebView.setInitialScale(0); // 改變這個值可以設定初始大小 //重要,用於與頁面互動! mWebView.addJavascriptInterface(new Object() { @SuppressWarnings("unused") public void oneClick(final String locX, final String locY) {//此處的引數可傳入作為js引數 mHandler.post(new Runnable() { public void run() { mWebView.loadUrl("javascript:shows(" + locX + "," + locY + ")"); } }); } }, "demo");//此名稱在頁面中被呼叫,方法如下: //<body onClick="window.demo.clickOnAndroid(event.pageX,event.pageY)"> final String mimeType = "text/html"; final String encoding = "utf-8"; final String html = "";// TODO 從本地讀取HTML檔案 mWebView.loadDataWithBaseURL("file:///sdcard/", html, mimeType, encoding, ""); } }
執行以上程式碼,就可以在程式中開啟自己寫的html頁面.並且實現Java與JavaScript的雙向互動.
我們甚至可以在頁面中使用JQuery之類的框架製作出很好看的效果,而這比寫Android程式碼我覺得簡單多了.
相關文章
- Android WebView適配html載入本地檔案並上傳AndroidWebViewHTML
- Android webview JS 互動AndroidWebViewJS
- Android 中WebView載入Html出現有時頁面顯示不全問題AndroidWebViewHTML
- android 的webView載入h5,和h5的互動(java和JavaScript的互動)AndroidWebViewH5JavaScript
- Android webview 與 js(Vue) 互動AndroidWebViewJSVue
- Android與WebView資料互動AndroidWebView
- Android 原生 WebView 與 JavaScript 互動AndroidWebViewJavaScript
- Android Webview Java和Javascript安全互動AndroidWebViewJavaScript
- Android WebView載入TTF字型AndroidWebView
- 在Flask程式中實現GitHub登入和GitHub資源互動FlaskGithub
- Android 與WebView中的js程式碼的互動記錄AndroidWebViewJS
- Android WebView —— Java 與 JavaScript 互動總結AndroidWebViewJavaScript
- WebView與APP互動實戰記錄WebViewAPP
- Android混合開發之WebView與Javascript互動AndroidWebViewJavaScript
- Android WebView 中的 Html 網頁定位操作AndroidWebViewHTML網頁
- Servlet實現、與html的簡單互動ServletHTML
- 利用 Native.js 實現 Android 與 HTML 資料的互動JSAndroidHTML
- Android WebView 無法載入HttpsAndroidWebViewHTTP
- android使用webview載入flash檔案AndroidWebView
- 如何加速Android WebView頁面載入AndroidWebView
- webbrowser在html中寫入內容並新增jsWebHTMLJS
- WebView詳解與簡單實現Android與H5互調WebViewAndroidH5
- 【Android】在Activity頁面中如何實現Fragment資料的緩載入AndroidFragment
- webview與JS的互動WebViewJS
- Flutter下實現WebView攔截載入離線資源FlutterWebView
- 13 Android與HTML5互動AndroidHTML
- 用WebBrowser實現HTML介面的應用和互動WebHTML
- 關於在Flutter Web中載入html(持續更新中......)FlutterWebHTML
- iOS使用webView載入HTML網頁連結簡單展示iOSWebViewHTML網頁
- WebView深度學習(一)之WebView的基本使用以及Android和js的互動WebView深度學習AndroidJS
- 利用html5實現的loadding動態載入效果HTML
- 利用HTML5,無JS實現各種互動效果HTMLJS
- 基於HTML5 Canvas實現使用者互動HTMLCanvas
- android Gallery實現非同步載入網路圖片 並只載入當前停止頁面圖Android非同步
- Android 8.0上webView載入url,不回撥onPageFinishedAndroidWebView
- android中webView載入H5,JS不能呼叫問題的解決AndroidWebViewH5JS
- 滾動載入圖片(懶載入)實現原理
- 如何在Unity中實現水體互動?Unity