中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

webview 獲取網頁上的數據

發布時間:2020-08-08 19:25:19 來源:網絡 閱讀:386 作者:養豬吧 欄目:移動開發

最近做webview,遇到2種需求,一種是在自己服務器上的HTML中獲取數據,另一種是通過自己服務器上的HTML中的超鏈接跳到另一個站點的HTML中,并獲取數據。

于是,總結了2種通過webview獲取網頁上的數據的方式:

第一種:簡單點的,直接通過js調java,在調用方法的過程中將數據通過方法的參數傳遞給Android端,(前提:服務端有對應的faxun對象,而且調用的方法是showImages(String[] imgUrls))。


<span >class MyJavaScriptInterface { MyJavaScriptInterface() { } /** * js調java,顯示圖片 * * @param imgUrls */ @JavascriptInterface public void showImages(String[] imgUrls) { LogUtils.i(TAG, "imgUrls = " + imgUrls[0]); NewsDetailWebviewActivity.this.imgUrls = imgUrls; } } ... webView.addJavascriptInterface(new MyJavaScriptInterface(), "faxun");</span>
第二種:有點復雜,通過webview注冊一個本地接口后,然后通過java調js,拿到document對象后,解析HTML標簽,然后數據會通過本地接口中的回調方法傳遞給Android端,(前提:HTML頁面中的meta標簽中有對應的reply_info名稱和content屬性,數據是封裝在content里面的json格式的字符串
)。


<span >class MyWebClient extends WebViewClient { @Override public void onPageFinished(WebView view, String url) { view.loadUrl("javascript:window.getShareData.OnGetShareData(" + "document.querySelector('meta[name=\"reply_info\"]').getAttribute('content')" + ");"); super.onPageFinished(view, url); } } private class GetShareDataInterface { @JavascriptInterface public void OnGetShareData(String shareData) { if (null != shareData) { try { JSONObject shareJson = new JSONObject(shareData); title = shareJson.optString("title"); description = shareJson.optString("description"); p_w_picpathUrl = shareJson.optString("p_w_picpathUrl"); } catch (JSONException e) { e.printStackTrace(); } } } } ..... webView.setWebViewClient(new MyWebClient()); </span>


其實,如果是普通的需求,兩種方式都可以解決問題,但是如果是有些HTML沒有做js調java,只是個普通的HTML,并且需要獲取頁面上的數據時,只能通過第二種方式來獲取HTML上的數據了,比如獲取HTML上的title等等。


向AI問一下細節
推薦閱讀:
  1. Android WebView詳解
  2. webview

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

商丘市| 杭锦旗| 武陟县| 黑水县| 眉山市| 枣阳市| 万安县| 固安县| 贵阳市| 广宁县| 买车| 获嘉县| 安康市| 济阳县| 静乐县| 哈密市| 罗源县| 常宁市| 柳江县| 甘德县| 甘泉县| 桐乡市| 通城县| 荆门市| 靖安县| 霍州市| 吴旗县| 六枝特区| 云梦县| 敖汉旗| 布尔津县| 都匀市| 汨罗市| 兴隆县| 延长县| 漳平市| 专栏| 湖南省| 平安县| 无棣县| 新龙县|