热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

Android通过访问网页查看网页源码实例详解

这篇文章主要介绍了Android通过访问网页查看网页源码的相关资料,需要的朋友可以参考下

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

1.添加网络权限

 
 

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); 
      } 
    } 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


推荐阅读
  • 本文介绍了如何通过配置 Android Studio 和 Gradle 来显著提高构建性能,涵盖内存分配优化、并行构建和性能分析等实用技巧。 ... [详细]
  • 本文介绍如何通过SSH协议使用Xshell远程连接到Ubuntu系统。为了实现这一目标,需要确保Ubuntu系统已安装并配置好SSH服务器,并保证网络连通性。 ... [详细]
  • 落樱3D v0.5是一款在Android平台上发布的3D美少女格斗游戏,本次更新带来了多项新功能和优化。 ... [详细]
  • 优化局域网SSH连接延迟问题的解决方案
    本文介绍了解决局域网内SSH连接到服务器时出现长时间等待问题的方法。通过调整配置和优化网络设置,可以显著缩短SSH连接的时间。 ... [详细]
  • 回顾2014年,我经历了多个重要项目和学习阶段,取得了一定的成绩。新的一年即将到来,希望能在更多项目实践中继续成长。 ... [详细]
  • HDU 1394:线段树优化求解逆序对问题
    本文介绍如何使用线段树高效求解排列中的逆序对问题。通过单点增减和区间求和操作,线段树能够快速处理此类问题,并提供了一种替代树状数组的解决方案。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • TechStride 网站
    TechStride 成立于2014年初,致力于互联网前沿技术、产品创意及创业内容的聚合、搜索、学习与展示。我们旨在为互联网从业者提供更高效的新技术搜索、学习、分享和产品推广平台。 ... [详细]
  • 本文将带领读者深入了解Android系统源码在手机中的实际表现,通过详细的步骤和专业的解释,帮助你更好地理解Android系统的底层运作机制。 ... [详细]
  • 本文将介绍网易NEC CSS框架的规范及其在实际项目中的应用。通过详细解析其分类和命名规则,探讨如何编写高效、可维护的CSS代码,并分享一些实用的学习心得。 ... [详细]
  • 深入理解T-SQL中的NULL与三值逻辑
    本文探讨了SQL Server中的三值逻辑,解释了谓词计算结果为TRUE、FALSE和UNKNOWN的规则。通过具体示例,详细说明了如何正确处理NULL值,并探讨了在不同约束条件下的行为。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • Redis Hash 数据结构详解
    本文详细介绍了 Redis 中的 Hash 数据类型及其常用命令。Hash 类型用于存储键值对集合,支持多种操作如插入、查询、更新和删除字段值。此外,文章还探讨了 Hash 类型在实际业务场景中的应用,并提供了优化建议。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 本文介绍了 Winter-1-C A + B II 问题的详细解题思路和测试数据。该问题要求计算两个大整数的和,并输出结果。我们将深入探讨如何处理大整数运算,确保在给定的时间和内存限制下正确求解。 ... [详细]
author-avatar
君慎豫行
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有