Html代码查看器
Html代码查看器
效果:


分析:
1、连接网络需要权限
<uses-permission android:name="android.permission.INTERNET" />
2、要把默认协议和默认端口http和80写上
3、把访问网络的代码放在AsyncTask里面
4、得到内容类型两种方法
String contentType=conn.getHeaderField("Content-Type");
conn.getContentType
5、分割函数
String encoding=contentType.split("=")[0];
以等号为分割,取第0段
代码:
package fry; import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL; import com.example.watchCode.R; import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.EditText; public class Activity01 extends Activity{
private Button btn_checked;
private EditText et_webSite;
private EditText et_content;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.activity01); btn_checked=(Button) findViewById(R.id.btn_checked);
et_webSite=(EditText) findViewById(R.id.et_webSite);
et_content=(EditText) findViewById(R.id.et_content); } public void onClick(View view){
//获取编辑框输入的网址
String urlStr=et_webSite.getText().toString();
new AsyncTask<String,Void,String>(){ @Override
protected String doInBackground(String... arg0) {
//字符串缓冲区
StringBuffer buffer= new StringBuffer();
try {
String s=arg0[0]+":80";
//封装URL对象
URL url=new URL(s);
//获取http连接对象
HttpURLConnection conn =(HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setConnectTimeout(5000);
//获取状态码
int code=conn.getResponseCode();
Log.d("fry", "获取到状态码:"+code);
if(code==200){//请求成功
String contentType=conn.getHeaderField("Content-Type");
String encoding=contentType.split("=")[0];
Log.d("fry", encoding);
//获取响应消息的实体内容
InputStreamReader reader=new InputStreamReader(conn.getInputStream(),"UTF-8");
char[] charArr=new char[1024*8];
int len=0;
while((len=reader.read(charArr))!=-1){
//字符数组转字符串
String str=new String(charArr,0,len);
//在结尾追加字符串
buffer.append(str);
}
} } catch (Exception e) {
e.printStackTrace();
} return buffer.toString();
}
protected void onPostExecute(String result) {
//设置字符串到编辑框
et_content.setText(result); }; }.execute("http://"+urlStr);
} }

本来getResponseCode做了连接、获取状态码,返回状态码三件事。
现在conn.connect()把连接这件事做了。

5000ms没有成功连接就抛出异常
Html代码查看器的更多相关文章
- wpf 仿QQ图片查看器
参考博客 WPF下的仿QQ图片查看器 wpf图片查看器,支持鼠标滚动缩放拖拽 实现效果 主要参考的WPF下的仿QQ图片查看器,原博主只给出了部分代码. 没有完成的部分 1.右下角缩略图是原图不是缩略图 ...
- 发布两款JQ小插件(图片查看器 + 分类选择器),开源
图片查看器,github地址:https://github.com/VaJoy/imgViewer 效果如下: 这款当初大概写了2小时,有点匆忙地赶出来的,使用的接口很简单: $.bindViewer ...
- IIS事件查看器_WebServer事件查看器_帮助查看IIS-Web服务器事件执行日志
IIS服务器是我们常用的Web站点部署工具,而我们有时可能遇到IIS服务器的应用程序池莫名其妙的关闭了,或者是其他未知原因等等,我们这是可以通过微软提供的WebServer(Web服务事件查看器),来 ...
- wpf图片查看器,支持鼠标滚动缩放拖拽
最近项目需要,要用到一个图片查看器,类似于windows自带的图片查看器那样,鼠标滚动可以缩放,可以拖拽图片,于是就写了这个简单的图片查看器. 前台代码: <Window x:Class=&qu ...
- 解决Win10图片打开方式没有“Windows照片查看器”问题
1.打开注册表编辑器(Win+R,Regedit),定位至(建议修改前备份注册表): HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Photo Viewe ...
- 微信聊天记录查看器(程序+源码) - iOS版
本文版权归cxun所有,如有转载请注明出处与本文链接,谢谢!原文地址:http://www.cnblogs.com/cxun/p/4338643.html Updates [2016.10.14]感谢 ...
- 用JQ仿造礼德财富网的图片查看器
现在就职于一家P2P平台,自然也会关注同行其它网站的前端技术,今天要仿造的是礼德内页的一个图片查看器效果.不过说白了,无论人人贷也好礼德财富也好,很多地方的前端都做的不尽如人意,比如忽略细节.缺乏交互 ...
- 基于jQuery的一个简单的图片查看器
项目中自己diy了一个图片查看器.因为初始代码不是自己的,只是在上面改了一下也没有弄的很漂亮.等以后有时间了在重写一下样式和封装,作为备用的只是积累吧.如果有童鞋有用到,完全可以在此基础上改,比较容易 ...
- Moon转告给你一个比Log4net更好日志框架--TracerX Logger 及其对应的日志查看器
一.介绍 TracerX logger是一个易于上手,且拥有众多高级特性的.NET日志框架. 它能够发送输出结果到多目的地(循环文件.事件日志等....).它也能生成文本和二进制文件.它拥有一个强大的 ...
随机推荐
- EasyUI的时间控件禁止输入
<td class="right">制单日期:</td> <td class="left"> <input name ...
- Linux中ssh及scp的连接
1. 当你想获取另外一台电脑上的数据时,可以使用这个命令 scp -P 10022 root@172.30.83.173:~/ubuntu1.tar ./ -r 代表传输文件夹,直接传文件可以不加 ...
- Deepin 下开启SSH远程登陆
关于deepin下安装ssh以后root用户登陆报错的解决 最近刚刚接触到deepin,觉得,wow,除了mac,还有这么好看的非win系统,而且第测出那个Linux,宽容度很高,非常适合我这种比 ...
- GnuTLS 3.3.3 remote memory corruption(CVE-2014-3466)
Buffer overflow in the read_server_hello function in lib/gnutls_handshake.c in GnuTLS before 3.1.25, ...
- Linux文件目录可视化远程软件winscp的使用
这个软件不是必须的,一般有命令行就可以操作文件目录,但winscp有图形界面,双击文件就可以编辑和保存,使用方式更接近windows Winscp是开源软件,安装包可以自行下载获取找有关人士获取 要新 ...
- iview table列中根据不同的状态显示不同的颜色,显示图片
使用reder可以实现 1.显示不同状态 2.显示图片
- ES2015箭头函数与普通函数对比理解
直接返回表达式 var odds = evens.map(v => v + 1); var nums = evens.map((v, i) => v + i); var odds = ev ...
- linux安装jdk环境(多种方式)
通过tar.gz压缩包安装 此方法适用于绝大部分的linux系统 1.先下载tar.gz的压缩包,这里使用官网下载. 进入: http://www.oracle.com/technetwork/jav ...
- 线程安全与非线程安全集合说一下,底层怎么实现的(hashmap,concurrenthashmap)
Hashmap本质是数组加链表.根据key取得hash值,然后计算出数组下标,如果多个key对应到同一个下标,就用链表串起来,新插入的在前面. ConcurrentHashMap:在hashMap的基 ...
- mongdb 简介以及安装
1.什么是MongoDB? MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统.在高负载的情况下,添加更多的节点,可以保证服务器性能.MongoDB 旨在为WEB应用提供 ...