android webview中如何實現html與手機本地數據的交互

在webview開發中,往往不止簡單的加載一個頁面顯示那麼簡單,常常有將手機本地的數據放到html上顯示和將html上操作的數據保存到手機本地的情況,那麼如何實現這種數據交互呢:
一:webvie部份:

final String json="{title1:孔子,title2:孟子,title3:莊子}";
        wv_webview.addJavascriptInterface(new Object() {
            //@param message:  html頁面傳進來的數據
            @JavascriptInterface
            public String getLocationData(String message) {
                Toast.makeText(MainActivity.this, message, 1).show();
                return json; // 把本地數據弄成json串,傳給html
            }

        }, "MyBrowserAPI");//MyBrowserAPI:自定義的js函數名

        wv_webview.loadUrl("file:///android_asset/index.html");

二:html部分:

<title>測試手機和頁面之間的數據傳遞</title>
<script language="javascript">
    function  showjson(json){
        document.getElementById("test").innerHTML=json;
        }
    function getData(){ //調用Android中自定義的拍照JavaScript接口
        var json=window.MyBrowserAPI.getLocationData("從頁面傳給手機的message");//拿到本地數據,並可以傳給手機一些內容,可選
        showjson(json); //在頁面上顯示出結果
        }
</script>
</head>
<body>
<div>
<input  value="點我試試"  type="button" onclick="getData()"/>
</div>
<div>
<p id="test">沒有數據</p>
</div>
</body>

OK!就是這麼簡單…

發佈了49 篇原創文章 · 獲贊 22 · 訪問量 8萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章