本实例主要是通过URL获取网络资源,在具体一点,就是简单介绍如何获取网页文本资源。获取网络资源还有获取图片、视频、音频……资源,框架基本相似。

 

实验时出现两点小问题:1、抛出Connection Refused的异常;2、出现乱码。

 

     3、  myString = new String(baf.toByteArray(), "GBK");

                        //myString = EncodingUtils.getString(baf.toByteArray(), "GBK");

                        //myString = new String(baf.toByteArray());这个出现乱码,要在txt文件保存时选中utf-8

这三种任选一种。

当然,设置用户权限这个就不用说了!

Code:

package com.web.test;  

 

import java.io.BufferedInputStream;  

import java.io.InputStream;  

import java.net.URL;  

import java.net.URLConnection;  

 

import org.apache.http.util.ByteArrayBuffer;  

import org.apache.http.util.EncodingUtils;  

 

import android.app.Activity;  

import android.os.Bundle;  

import android.widget.TextView;  

/* 

 * 获取网络数据,这里展示如何获取网络上的一个poem.txt文本文件,架设了一个本地服务器 

 */  

 

public class HelloWeb extends Activity {  

    @Override  

    public void onCreate(Bundle savedInstanceState) {  

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.main);  

 

        TextView tv = new TextView(this);  

        String myString = null;  

 

        try {  

            URL uri = new URL("http://172.16.194.157:8080/my/my.txt");//注意,这里的URL地址必须为网络地址,  

            //URL uri = new URL("http://localhost:8080/my/poem.txt");  

            //本地地址http://localhost:8080/my/poem.txt会报Connection Refused的异常  

            URLConnection ucon = uri.openConnection();  

            InputStream is = ucon.getInputStream();  

            BufferedInputStream bis = new BufferedInputStream(is);  

            ByteArrayBuffer baf = new ByteArrayBuffer(100);  

            int current = 0;  

            while((current = bis.read()) != -1) {  

                baf.append((byte)current);  

            }  

 

            myString = new String(baf.toByteArray(), "GBK");  

            //myString = EncodingUtils.getString(baf.toByteArray(), "GBK");  

            //myString = new String(baf.toByteArray());这个出现乱码,要在txt文件保存时选中utf-8  

        } catch(Exception e) {  

            myString = e.getMessage();  

        }  

 

        tv.setText(myString);  

        this.setContentView(tv);  

    }  

}  

修改txt文本文件的编码格式

 

更多相关文章

  1. Android获取应用程序的版本名称和版本号
  2. Android之FileProvider :通过FileProvider来获取content uri
  3. 【Android】数据存储之Sharepreference
  4. 【转】【Android】获取手机中已安装apk文件信息(PackageInfo、Re
  5. Android(安卓)6.0权限获取方式-shouldShowRequestPermissionRati
  6. 十四、ContentProvider往通讯录添加联系人和获取联系人
  7. Android入门学习_Android获取来电号码
  8. Android(安卓)响应式编程框架 - RxJava2(三)RxJava2+Retrofit 2获
  9. Android重写HorizontalScrollView仿ViewPager效果

随机推荐

  1. Jquery 只执行一次的代码
  2. Jquery Validate 相关参数及常用的自定义
  3. BootStrap入门教程 (四)
  4. 分享27款非常棒的 jQuery 表单插件
  5. JavaScript函数中的Ruby代码
  6. 如何从Python脚本向jQuery发送JSON对象?
  7. 通过],[和创建json对象来分割字符串
  8. 开发学习Jquery实例---双击表格弹出模态
  9. 使用jQuery的ASP.NET - POST vs GET
  10. Ajax php登录表单不指向另一个页面