文档章节

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
Android Activity

android 第三方项目放在源码环境下编译 Android:源码环境下移植第三方的apk内置到ROM(System Image)中 1、实现启动一个activity但不显示其界面: <activity android:name="com.learns.Locati...

当空皓月
2014/11/07
0
0
项目需求讨论 - WebView下拍照及图片选择功能

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

青蛙要fly
06/23
0
0
Ubuntu环境下 Android平台源码的下载及编译

本文介绍Ubuntu环境下Android源码下载及编译方法,Android源码是什么?Android源码就是指Android平台和软件源 码,不单指Linux内核Kernel,我们常说的Linux Kernel在这个Open source project...

andy_android
2011/12/06
0
2

没有更多内容

加载失败,请刷新页面

加载更多

.NET 知识整理笔记

1.Web.Config配置文件的节点操作 在Web.Config中写入 <configuration> <connectionStrings> <add name="conStr" connectionString="Data Source=IUCL8V4Y7NW5IRA\SQLEXPRESS;Initia......

Jokeny
10分钟前
0
0
Spring 声明式注解事务实现机制

Spring中注解事务实现机制 在使用@Transactional 注解管理事务时步骤很简单。但是如果对@Transactional理解不够透彻,很容易出现事务不起作用的情况。所以,在对@Transactional的实现机制要有...

狂奔的熊二
11分钟前
0
0
Fastjson - 详解SerializeFilter,格式化对象字段

遇到一个奇葩场景,维护一个老的程序, 应用换了个服务方. 要切接口. 但有以下问题. 接口逻辑稍有不同 , 需要自己按原接口文档,重组逻辑. 接口字段名,字段类型改动较大. 但还要按原接口文档返回...

ol_O_O_lo
11分钟前
0
0
一个小知识点---关于传递引用参数

如果传入引用参数 在方法内new 对象,其改变外层不可见

职业搬砖20年
16分钟前
0
0
Oracle数据导入导出命令及参数介绍(Linux)

1.数据导出 exp system/123456 file=d:\backup\oracle\oracle%date:~0,10%.dmp owner=system log=d:\backup\oracle\oracle%date:~0,10%.log 2.数据导入 imp system/manager@TEST file=d:\d......

lyle_luo
17分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部