zoukankan      html  css  js  c++  java
  • 010_03HTML源码查看器

        主要用到了ByteArrayOutputStream类。该类无需指定输出流的路径,而是将数据直接输出到内存缓冲区。

    使用toByteArray方法获取内存缓冲区数据。

     1 package com.example.day10_03htmlsourceViewer;
     2 
     3 import java.io.ByteArrayOutputStream;
     4 import java.io.InputStream;
     5 import java.net.HttpURLConnection;
     6 import java.net.URL;
     7 import android.app.Activity;
     8 import android.os.Bundle;
     9 import android.os.Handler;
    10 import android.os.Message;
    11 import android.view.View;
    12 import android.widget.TextView;
    13 import android.widget.Toast;
    14 
    15 public class MainActivity extends Activity {
    16     @Override
    17     protected void onCreate(Bundle savedInstanceState) {
    18         super.onCreate(savedInstanceState);
    19         setContentView(R.layout.activity_main);
    20     }
    21  
    22     final static int MSG_DOWNLOAD_OK =1; 
    23     final static int MSG_DOWNLOAD_ERROR =2; 
    24     
    25     Handler handler = new Handler(){
    26         @Override
    27         public void handleMessage(Message msg) {
    28             super.handleMessage(msg);
    29             
    30             switch (msg.what) {
    31             case MSG_DOWNLOAD_OK:
    32                 TextView tv_html= (TextView) findViewById(R.id.tv_html);
    33                 tv_html.setText((String)msg.obj);                
    34                 break;
    35             case MSG_DOWNLOAD_ERROR:
    36                 Toast.makeText(MainActivity.this, "下载源码失败", 1).show();
    37                 break;
    38             default:
    39                 break;
    40             }
    41         }        
    42     };
    43     public void gethtml(View v){
    44         Thread thread = new Thread(){    
    45             public void run() {
    46                  String path = "http://192.168.3.30:8080/index2.html";
    47                  try {
    48                     URL url = new URL(path);
    49                     HttpURLConnection conn = (HttpURLConnection) url.openConnection();
    50                     
    51                     conn.setConnectTimeout(5000);
    52                     conn.setReadTimeout(5000);
    53                     conn.setRequestMethod("GET");                   
    54                     conn.connect();
    55                     
    56                     if(conn.getResponseCode()==200)
    57                     {
    58                         InputStream is = conn.getInputStream();
    59 
    60                         ByteArrayOutputStream baos = new ByteArrayOutputStream();
    61                         byte[] b = new byte[1024];
    62                         int len = 0;
    63                         while((len=is.read(b))!=-1)
    64                         {
    65                             baos.write(b, 0, len);
    66                         }
    67                         is.close();
    68                         baos.close();                                      
    69                         String htmlsource = new String(baos.toByteArray(),"GBK") ;                       
    70                         Message msg= handler.obtainMessage();
    71                         msg.what=MSG_DOWNLOAD_OK;
    72                         msg.obj=htmlsource;
    73                         handler.sendMessage(msg);                        
    74                     }
    75                     else {                       
    76                         Message msg= handler.obtainMessage();
    77                         msg.what=MSG_DOWNLOAD_ERROR;                       
    78                         handler.sendMessage(msg);                        
    79                     }                                                                   
    80                 } catch ( Exception e) {
    81                     e.printStackTrace();
    82                 }    
    83             }
    84             ;
    85         };
    86         thread.start();    
    87     }
    88 }

    activity_main.xml和AndroidManifest.xml与010_02带缓存的图片查看器相同。

    效果图:

    物随心转,境由心造,一切烦恼皆由心生。
  • 相关阅读:
    [转]create a basic sql server 2005 trigger to send email alerts
    SDUT OJ 2783 小P寻宝记
    联想杨元庆:互联网不包治百病 概念被夸大
    【Stackoverflow好问题】Java += 操作符实质
    poj 2513 Colored Sticks (trie 树)
    Nginx基础教程PPT
    POJ 1753 Flip Game (DFS + 枚举)
    poj 3020 Antenna Placement (最小路径覆盖)
    Unable to boot : please use a kernel appropriate for your cpu
    HDU 2844 Coins (多重背包)
  • 原文地址:https://www.cnblogs.com/woodrow2015/p/4516811.html
Copyright © 2011-2022 走看看