文档章节

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

ht896632
 ht896632
发布于 2016/03/02 14:07
字数 242
阅读 14
收藏 0
点赞 1
评论 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
粉丝 35
博文 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
Android WebView基本介绍

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

TracyZhang
2012/04/23
0
2
Ubuntu环境下 Android平台源码的下载及编译

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

andy_android
2011/12/06
0
2
Read-only file system问题

【环境】android2.2虚拟机、ubuntu系统、 【解决方法】 在cmd窗口一条命令就可以了: adb shell mount -o remount rw / 【其它东东】 如何一起动就让sdcard有读写权限呢? ----------------...

元来元去
2011/09/15
0
0
Android拓展系列(3)--Android源码下载

前几天,又切换回ubuntu11.04系统了,体验以下unity桌面。 android系统源码(包括sdk源码)的下载主要是需要用到git工具,关于git工具的使用我会抽空专门介绍,这里用到的时候简略说明一下。 ...

枫影Xda
2011/10/23
0
0
使用jsoup简单抓取应用市场数据

统计各个应用市场本应用的下载数量是个麻烦没有效率的要求,不符合广大程序员哥们的使用习惯,我是搞android的,深知android应用市场真是繁琐,于是百度了一下,从网上找了一个jsoup来解析网...

浪漫晨风
05/15
0
0
android WebView详解

浏览器控件是每个开发环境都具备的,这为马甲神功提供了用武之地,windows的有webbrowser,android和ios都有webview。只是其引擎不同,相对于微软的webbrowser,android及ios的webview的引擎...

amigos_wu
2012/06/25
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

about git flow

  昨天元芳做了git分支管理规范的分享,为了拓展大家关于git分支的认知,这里我特意再分享这两个关于git flow的链接,大家可以看一下。 Git 工作流程 Git分支管理策略   git flow本质上是...

qwfys
今天
1
0
Linux系统日志文件

/var/log/messages linux系统总日志 /etc/logrotate.conf 日志切割配置文件 参考https://my.oschina.net/u/2000675/blog/908189 dmesg命令 dmesg’命令显示linux内核的环形缓冲区信息,我们可...

chencheng-linux
今天
1
0
MacOS下给树莓派安装Raspbian系统

下载镜像 前往 树莓派官网 下载镜像。 点击 最新版Raspbian 下载最新版镜像。 下载后请,通过 访达 双击解压,或通过 unzip 命令解压。 检查下载的文件 ls -lh -rw-r--r-- 1 dingdayu s...

dingdayu
今天
0
0
spring boot使用通用mapper(tk.mapper) ,id自增和回显等问题

最近项目使用到tk.mapper设置id自增,数据库是mysql。在使用通用mapper主键生成过程中有一些问题,在总结一下。 1、UUID生成方式-字符串主键 在主键上增加注解 @Id @GeneratedValue...

北岩
今天
2
0
告警系统邮件引擎、运行告警系统

告警系统邮件引擎 cd mail vim mail.py #!/usr/bin/env python#-*- coding: UTF-8 -*-import os,sysreload(sys)sys.setdefaultencoding('utf8')import getoptimport smtplibfr......

Zhouliang6
今天
0
0
Java工具类—随机数

Java中常用的生成随机数有Math.random()方法及java.util.Random类.但他们生成的随机数都是伪随机的. Math.radom()方法 在jdk1.8的Math类中可以看到,Math.random()方法实际上就是调用Random类...

PrivateO2
今天
2
0
关于java内存模型、并发编程的好文

Java并发编程:volatile关键字解析    volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在...

DannyCoder
昨天
0
0
dubbo @Reference retries 重试次数 一个坑

在代码一中设置 成retries=0,也就是调用超时不用重试,结果DEBUG的时候总是重试,不是0吗,0就不用重试啊。为什么还是调用了多次呢? 结果在网上看到 这篇文章才明白 https://www.cnblogs....

奋斗的小牛
昨天
2
0
数据结构与算法3

要抓紧喽~~~~~~~放羊的孩纸回来喽 LowArray类和LowArrayApp类 程序将一个普通的Java数组封装在LowArray类中。类中的数组隐藏了起来,它是私有的,所以只有类自己的方法才能访问他。 LowArray...

沉迷于编程的小菜菜
昨天
1
0
spring boot应用测试框架介绍

一、spring boot应用测试存在的问题 官方提供的测试框架spring-boot-test-starter,虽然提供了很多功能(junit、spring test、assertj、hamcrest、mockito、jsonassert、jsonpath),但是在数...

yangjianzhou
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部