Android WebView 获取网页数据(html)
2016-04-24 20:41
591 查看
Android WebView 获取网页数据(html)
发表于7个月前(2015-09-25 11:20) 阅读(813) | 评论(0) 7人收藏此文章, 我要收藏赞0
4月23日,武汉源创会火热报名中,期待您的参与>>>>>
目录[-]
1. activity_main.layout
2. MainActivity.java
3. 在AndroidManifest.xml
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
增加权限:<uses-permission android:name="android.permission.INTERNET" />
分享到:
0赞
原文地址:http://m.blog.csdn.net/blog/hellohaifei/9331631
« 上一篇
下一篇 »
最新热门职位
更多开发者职位上 开源中国·招聘
恒
测试工程师 恒生电子
月薪: 10-18K
慧
软件开发工程师 慧控电子
月薪: 4-10K
国
java高级软件工程师 国富通
月薪: 10-15K
Java开发工程师 鼎盛视讯
月薪: 8-12K
评论
相关文章推荐
- Android:Java代码添加按钮
- Android基础学习第二篇—Activity
- Android 学习记录-项目颜色红绿白蓝
- Android View 的一些属性(复制转载过来的,做个笔记)
- 使用adb调试Android设备
- 安卓xml颜色设置
- 关于youtube上Android Performance Patterns的总结(部分)
- Android IPC之Messager用法示例
- 所有Android开发者必须阅读的博客整理
- java/android 设计模式学习笔记(1)---单例模式
- java/android 设计模式学习笔记目录
- Android 自定义View:实现View的滑动效果
- android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索
- android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索
- android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索
- android自定义View之仿通讯录侧边栏滑动,实现A-Z字母检索
- Android ListView 侧滑效果实现(滑动展开、滑动删除)
- Android四大核心组件之Service
- Android四大核心组件之ContentProvider
- Android四大核心组件之BroadCastReceiver