亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

于都县| 大悟县| 苗栗市| 泾川县| 井陉县| 集贤县| 新晃| 武威市| 平原县| 霍邱县| 宜兰县| 道孚县| 松原市| 仙游县| 金阳县| 类乌齐县| 谷城县| 盐源县| 盈江县| 东海县| 榆树市| 永康市| 伊金霍洛旗| 霍州市| 新竹市| 武功县| 平果县| 海宁市| 襄汾县| 永兴县| 那坡县| 准格尔旗| 平罗县| 武宣县| 武清区| 都兰县| 老河口市| 克什克腾旗| 阿合奇县| 德保县| 洛南县|