1:工具类
package cn.itcast.utils;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
public class StreamTool {
/**
* 从输入流中获取数据
* @param inStream 输入流
* @return
* @throws Exception
*/
public static byte[] readInputStream(InputStream inStream) throws Exception{
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while( (len=inStream.read(buffer)) != -1 ){
outStream.write(buffer, 0, len);
}
inStream.close();
return outStream.toByteArray();
}
}
2:业务类
package cn.itcast.service;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import cn.itcast.utils.StreamTool;
public class HtmlService {
public static String getHtml(String path) throws Exception {
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5 * 1000);
InputStream inStream = conn.getInputStream();//通过输入流获取html数据
byte[] data = StreamTool.readInputStream(inStream);//得到html的二进制数据
String html = new String(data, "gb2312");
return html;
}
}
3:主Activate
package cn.itcast.html;
import cn.itcast.service.HtmlService;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView textView = (TextView)this.findViewById(R.id.textView);
try {
textView.setText(HtmlService.getHtml("http://www.sohu.com"));
} catch (Exception e) {
Log.e("MainActivity", e.toString());
Toast.makeText(MainActivity.this, "网络连接失败", 1).show();
}
}
}
分享到:
相关推荐
在这个“安卓开发-使用html5得到手机设备信息”的主题中,我们将探讨如何利用HTML5的Device API来获取安卓设备的信息。 1. **Device API介绍** HTML5的Device API提供了一组接口,允许网页应用访问设备的硬件信息...
微信小程序是一种轻量级的应用开发平台,主要针对移动端,由腾讯公司推出,旨在提供便捷的、无需下载安装即可使用的应用服务。在这个“微信小程序开发-移动端商城案例源码.zip”压缩包中,包含了一个完整的微信小...
### Python网络应用开发—模拟登录知识点详解 #### 一、实验背景与目标 本实验旨在通过实际操作加深学生对Python网络应用开发的理解,特别是聚焦于模拟登录这一实用技能的学习。模拟登录是指通过程序来模拟用户的...
在本项目"Laravel开发-lara-football-data"中,我们将探讨如何在Laravel框架下利用football-data.org API来获取和展示足球比赛数据。Laravel是一款基于PHP的开源Web应用框架,以其优雅的语法和强大的功能深受开发者...
总的来说,"C++桌面浏览器开发-Cef浏览器"项目涉及到了C++编程、Chromium内核的集成、UI设计、多线程处理、网络通信、下载管理等多个领域的知识。开发者需要深入理解Cef库和Duilib库的使用,以及桌面应用开发的最佳...
通过这种方式,模型将获得关注和取消关注的方法,无需在每个模型中重复编写代码。 3. **数据库迁移(Migrations)**:为了存储关注关系,我们需要创建相应的数据库表。这通常通过Laravel的迁移系统完成,创建一个...
目录服务器通常指的是存储组织或网络内用户、资源、服务等信息的系统,它们在企业环境中扮演着关键角色,帮助管理和查找网络资源。hieofone-directory 可能是用来收集、处理并展示这些服务器状态数据的平台,这可能...
PHPIPAM 是一款开源的 IP 地址管理软件,它允许网络管理员有效地跟踪和控制网络中的 IP 资源。 1. **Laravel 框架基础**: Laravel 的核心特性包括路由、中间件、控制器、视图、模板引擎(Blade)、数据库迁移和...
AdSense 是一种广告网络,它将广告商与内容创作者连接起来。Google 根据用户的兴趣和搜索历史,自动选择与网页内容相关的广告,并将其投放到您的网站上。当用户点击这些广告时,您将获得收入。 要在 Laravel 项目中...
总的来说,"matlab开发-FrontierDemo"项目展示了如何结合MATLAB的网络功能和数据分析能力来处理金融数据,并通过3D图形揭示投资组合的风险-回报特性。这对于金融分析师和投资经理来说是一个实用的工具,可以帮助他们...
在JAVA网络软件开发中,你将深入学习如何构建基于客户端-服务器(CS)架构的网络应用程序,这同样适用于网络游戏的开发。在这个领域,JAVA作为强大的...在实践中不断探索和学习,你的JAVA网络开发能力将得到显著提升。
对于可能出现的错误情况,如网络问题、PayTM服务中断等,应有适当的错误处理机制,确保用户得到清晰的反馈。 4. **日志记录** 记录每一次交易的详细信息,包括请求、响应和错误,以便在出现问题时进行排查。 ...
通过结合AWT或Swing组件与网络编程技术,可以开发出功能丰富的桌面应用,如UDP局域网聊天程序。 **18.3.5 发布应用、启动文件制作** 完成开发后,还需要考虑如何发布应用。这包括打包应用、制作启动文件等步骤,...
在这个“微信小程序开发-狼人杀小游戏案例源码.zip”压缩包中,你将获得一个实际的狼人杀小游戏的完整源代码,这对于学习微信小程序开发以及游戏逻辑实现具有很高的参考价值。 1. **微信小程序框架**: 微信小程序...
通过解压“python-3.8.3rc1-docs-html.zip”,用户可以获得详尽的Python 3.8.3教程、参考手册和标准库指南等内容。 1. **Python 3.8.3rc1的新特性:** - 字符串解析改进:引入了新的赋值解析规则,使得表达式赋值...
在本压缩包“游戏开发-霸王餐幸运大抽奖-Python源码示例.zip”中,包含了一个关于游戏开发中的幸运大抽奖功能的Python源代码实现。这个示例着重展示了如何利用Python进行游戏逻辑编程,以及可能涉及到的网络爬虫、...
在这个“微信小程序开发-微信记账小程序案例源码.zip”压缩包中,你将获得一个实际的微信记账小程序的完整源代码,这对于学习微信小程序开发以及移动应用财务管理具有很高的参考价值。 1. **微信小程序框架**: ...
- **成就系统**:设置运动目标,完成目标后可以获得勋章或其他激励。 - **个性化设置**:允许用户自定义界面主题、提醒设置等。 通过这个源码,开发者可以深入学习如何在微信小程序中实现上述功能,理解数据绑定、...
9. **版本更新与社区支持**: 作为开源项目,html-dom-parser通常有活跃的开发团队维护,并定期发布新版本,修复已知问题,增加新特性。同时,它有社区的支持,用户可以通过GitHub等平台提出问题、贡献代码,共同推动...