Android WebView 获取网页数据(html)_html/css_WEB-ITnose

php中文网
发布: 2016-06-21 09:06:13
原创
1990人浏览过

1. activity_main.layout

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"      xmlns:tools="http://schemas.android.com/tools"      android:layout_width="match_parent"      android:layout_height="match_parent"      tools:context=".MainActivity" >        <WebView          android:id="@+id/webView"          android:layout_width="fill_parent"          android:layout_height="fill_parent"          android:layout_centerHorizontal="true"          android:layout_centerVertical="true"           />    </RelativeLayout>
登录后复制



2. MainActivity.java

package com.example.webviewhtml;import android.app.Activity;  import android.graphics.Bitmap;  import android.os.Bundle;  import android.webkit.JavascriptInterface;import android.webkit.WebView;  import android.webkit.WebViewClient;  /**  * Dmeo说明:  * 当WebView加载网页时获取该网页中的内容.  * 参考资料:  * http://www.maxters.net/2012/02/android-webview-get-html-source/  */  public class MainActivity extends Activity {     private WebView mWebView;           @Override      protected void onCreate(Bundle savedInstanceState) {          super.onCreate(savedInstanceState);          setContentView(R.layout.activity_main);          init();      }      private void init(){          mWebView=(WebView) findViewById(R.id.webView);          mWebView.getSettings().setJavaScriptEnabled(true);          mWebView.addJavascriptInterface(new InJavaScriptLocalObj(), "local_obj");          mWebView.getSettings().setSupportZoom(true);          mWebView.getSettings().setDomStorageEnabled(true);          mWebView.getSettings().setPluginsEnabled(true);          mWebView.requestFocus();          mWebView.getSettings().setUseWideViewPort(true);          mWebView.getSettings().setLoadWithOverviewMode(true);          mWebView.getSettings().setSupportZoom(true);          mWebView.getSettings().setBuiltInZoomControls(true);          mWebView.loadUrl("http://www.baidu.com");          mWebView.setWebViewClient(new WebViewClient() {              @Override              public void onPageStarted(WebView view, String url, Bitmap favicon) {                  super.onPageStarted(view, url, favicon);              }                @Override              public boolean shouldOverrideUrlLoading(WebView view, String url) {                  view.loadUrl(url);                  return true;              }                @Override              public void onPageFinished(WebView view, String url) {                  super.onPageFinished(view, url);                  view.loadUrl("javascript:window.local_obj.showSource('<head>'+"                          + "document.getElementsByTagName('html')[0].innerHTML+'</head>');");                }                @Override              public void onReceivedError(WebView view, int errorCode,                      String description, String failingUrl) {                  super.onReceivedError(view, errorCode, description, failingUrl);              }            });      }          /**     *  android sdk api >= 17 时需要加@JavascriptInterface     * @author fei     *     */    final class InJavaScriptLocalObj {      	@JavascriptInterface        public void showSource(String html) {              System.out.println("====>html="+html);          }      }  }
登录后复制

3. 在AndroidManifest.xml

增加权限:



HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号