博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
html查看器android
阅读量:7109 次
发布时间:2019-06-28

本文共 3403 字,大约阅读时间需要 11 分钟。

本文转自lzwxx 51CTO博客,原文链接:

http://blog.51cto.com/13064681/1943486

1.android的API提供了访问网络的一个类HttpURLConnection

2.通过发送GET请求获取服务器返回的html代码

3.先看看布局文件,如下所示,

    
    
    
        
    

布局样子:

4.下来是清单文件,记得连接网络要添加权限

5.1再看java代码,MainActivity的

package com.market.source;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.EditText;import android.widget.TextView;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.ProtocolException;import java.net.URL;import java.net.URLConnection;import butterknife.BindView;import butterknife.ButterKnife;public class MainActivity extends Activity {    @BindView(R.id.et)     EditText et;    @BindView(R.id.tv)     TextView tv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        ButterKnife.bind(this);    }    public void get(View vew) throws IOException {        final String str = et.getText().toString().trim();        new Thread(){            @Override            public void run() {                //1.请求地址url                URL url = null;                try {                    url = new URL(str);                    //2.获取对这个地址的连接                    HttpURLConnection con = (HttpURLConnection) url.openConnection();                    //3.设置对这个地址的请求,GET请求                    con.setRequestMethod("GET");                    //4.设置请求参数                    con.setConnectTimeout(5000);                    //5.获取服务器的响应                    int code = con.getResponseCode();                    //6.根据响应吗,判断请求成功还是失败,200成功                    if(code==200){                        //7.成功的话,服务器一流的形式返回数据                        InputStream inputStream = con.getInputStream();                        //8.这个流是字节流,需要我们转换为字符流才可以认识                        final String info = StreamTool.StreamtoString(inputStream);                        Log.e("MainActivity",info);                        runOnUiThread(new Runnable() {                            @Override                            public void run() {                                tv.setText(info);                            }                        });                    }                } catch (MalformedURLException e) {                    e.printStackTrace();                } catch (ProtocolException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }}

5.2工具类,用来将一个流转化为字符串

public class StreamTool {    public static String StreamtoString(InputStream inputStream) {        int len = -1;        byte[] buffer = new byte[1024];        //内存数组输出流        ByteArrayOutputStream baos = new ByteArrayOutputStream();        try {            while((len=inputStream.read(buffer)) != -1){               baos.write(buffer,0,len);            }            String str = new String(baos.toByteArray());            return str;        } catch (IOException e) {            e.printStackTrace();        }finally {            try {                inputStream.close();            } catch (IOException e) {                e.printStackTrace();            }        }        return null;    }}

 

6.运行效果查看

 

 

转载地址:http://czthl.baihongyu.com/

你可能感兴趣的文章
php随机生成汉字
查看>>
android:scaleType属性
查看>>
在Ubuntu上手动安装nginx软件
查看>>
Linux任务前后台的切换
查看>>
SpringBoot之第一个应用HelloWorld
查看>>
Thinkphp 数据的修改及删除操作
查看>>
hbase命令
查看>>
Java序列化和反序列化
查看>>
acm algorithm practice Dec. 27 MST
查看>>
LINQ系列:Linq to Object投影操作符
查看>>
微信公众号的文本回复(文本回复接口)
查看>>
CentOS7.X怎样更新yum源
查看>>
color theme
查看>>
vue 监听组件被重新渲染后的事件
查看>>
[Aaronyang] 写给自己的WPF4.5 笔记9[复杂数据处理三步曲,数据展示ListView泪奔2/3]...
查看>>
第十章 集成ISIS协议--10.1
查看>>
六、C# 派生
查看>>
SSH整合错误三连
查看>>
如何把彩色网页快速变为灰色网页?
查看>>
[渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:实现基本的CRUD功能
查看>>