文档章节

android通过访问网页查看网页源码

ht896632
 ht896632
发布于 2016/03/02 14:07
字数 242
阅读 14
收藏 0

1.添加网络权限

<!--访问网络的权限-->
<uses-permission android:name="android.permission.INTERNET"/>

2.获取网络中网页的数据

/**
	 * 获取网页HTML源代码
	 * @param path 网页路径
	 */
	public static String getHtml(String path) throws Exception {
		URL url=new URL(path);
		HttpURLConnection conn=(HttpURLConnection)url.openConnection();
		conn.setConnectTimeout(5000);
		conn.setRequestMethod("GET");
		if(conn.getResponseCode()==200){
			InputStream inStream=conn.getInputStream();
			byte[] data=read(inStream);
			String html=new String(data,"UTF-8");
			return html;
		}
		return null;
	}

	/**
	 * 读取流中的数据
	 */
	public static byte[] read(InputStream inputStream) throws IOException {
		ByteArrayOutputStream outputStream=new ByteArrayOutputStream();
		byte[] b=new byte[1024];
		int len=0;
		while((len=inputStream.read(b))!=-1){
			outputStream.write(b);
		}
		inputStream.close();
		return outputStream.toByteArray();
	}

3.处理查看网页源码的控制

public class HtmlViewActivity extends Activity {

	private EditText pathText;
	private TextView codeView;
	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        pathText=(EditText) findViewById(R.id.pagepath);//网页路径
        codeView=(TextView)findViewById(R.id.codeView);//显示获得的源码
        Button button=(Button) findViewById(R.id.button);//查看按钮
        button.setOnClickListener(new ButtonClickListener());//按钮事件
    }
	/**
	 * 查看按钮处理事件
	 */
	private final class ButtonClickListener implements View.OnClickListener{
		@Override
		public void onClick(View v) {
			String path=pathText.getText().toString();
			try {
				String html=PageService.getHtml(path);
				codeView.setText(html);
			} catch (Exception e) {
				e.printStackTrace();
				Toast.makeText(getApplicationContext(), R.string.error, 1);
			}
		}
	}
}

© 著作权归作者所有

共有 人打赏支持
ht896632
粉丝 36
博文 53
码字总数 31361
作品 0
闵行
高级程序员
私信 提问
为时已晚?Firefox 60 安卓版终于正式引入量子引擎

去年 11 月,Mozilla 发布了 Firefox 57 桌面版,因引入全新的浏览器 Quantum 量子引擎而将其命名为 “Firefox Quantum” 。Quantum 通过最新的线程处理技术,将 Firefox 的页面呈现速度提速...

王练
05/06
0
0
Android WebView基本使用

WebView介绍 Android WebView在Android平台上是一个特殊的View, 基于webkit引擎、展现web页面的控件,这个类可以被用来在你的app中仅仅显示一张在线的网页,还可以用来开发浏览器。WebView...

临江仙卜算子
07/06
0
0
项目需求讨论 - WebView下拍照及图片选择功能

前言: 如果觉得掘金上看图片放大看不清楚,可以跳到另外的同步发布的链接看,放大图片下部有个可以查看原图功能,很清楚:项目需求讨论 - WebView下拍照及图片选择功能 现在很多app里面,都...

青蛙要fly
06/23
0
0
Android WebView基本介绍

大部分内容为网上整理其它高人的帖子,现只作整理,用于查看: 在Android手机中内置了一款高性能webkit内核浏览器,在SDK中封装为一个叫做WebView组件。 什么是webkit WebKit是Mac OS X v10....

TracyZhang
2012/04/23
0
2
十款开发者常用的Chrome插件,让chrome成为开发利器!

本文作者:TheBeauty 原文地址:www.cnblogs.com/thebeauty/p… 前言 Chrome浏览器无论是作为浏览器市场的NO1还是其强大的跨平台能力以及丰富的扩展插件,一直是许多开发者的首要选择的浏览器...

codeGoogle
10/30
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Nginx+Keepalived实现站点高可用

Nginx+Keepalived实现站点高可用

吴伟祥
18分钟前
1
0
git常用命令速查表

任梁荣
21分钟前
1
0
一文带你学会使用YOLO及Opencv完成图像及视频流目标检测(上)

摘要: 本文介绍使用opencv和yolo完成图像目标检测,代码解释详细,附源码,上手快。 计算机视觉领域中,目标检测一直是工业应用上比较热门且成熟的应用领域,比如人脸识别、行人检测等,国内...

阿里云官方博客
24分钟前
0
0
SpringBoot整合RabbitMQ之典型应用场景实战二

实战前言 RabbitMQ 作为目前应用相当广泛的消息中间件,在企业级应用、微服务应用中充当着重要的角色。特别是在一些典型的应用场景以及业务模块中具有重要的作用,比如业务服务模块解耦、异步...

liwei2000
25分钟前
0
0
ES6这些就够了

刚开始用vue或者react,很多时候我们都会把ES6这位大兄dei加入我们的技术栈中。但是ES6那么多那么多特性,我们真的需要全部都掌握吗?秉着二八原则,掌握好常用的、有用的这个可以让我们的开...

文文1
34分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部