Android通过URL获取网络数据
来源:互联网 发布:多系统基础数据同步 编辑:程序博客网 时间:2024/05/18 22:43
本实例主要是通过URL获取网络资源,在具体一点,就是简单介绍如何获取网页文本资源。获取网络资源还有获取图片、视频、音频……资源,框架基本相似。
实验时出现两点小问题:1、抛出Connection Refused的异常;
2、出现乱码。
解决办法:1、由于我用的是本地服务器,就不假思索的以为和WEB的实验一样,只要输入http://localhost:8080/就可以得到实验结果,结果错误,要用网络服务器地址。
2、 myString = new String(baf.toByteArray(), "GBK");
//myString = EncodingUtils.getString(baf.toByteArray(), "GBK");
//myString = new String(baf.toByteArray());这个出现乱码,要在txt文件保存时选中utf-8
这三种任选一种。
当然,设置用户权限这个就不用说了!
- 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 {
- /** Called when the activity is first created. */
- @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文本文件的编码格式
出现异常
运行成功之后
0 0
- Android通过URL获取网络数据
- Android通过URL获取网络数据
- (转)Android通过URL获取网络数据
- Android通过URL获取网络数据
- Android网络开发:通过URL获取网络资源
- 通过URL获取数据
- android 网络编程--URL获取数据/图片
- Android通过网络URL获取图片并显示
- Android通过URL获取网络资源
- Android-通过URL获取网络资源
- Android 如何通过HTTP获取网络上的数据?
- Android中通过网络获取json数据来播放视频
- Android Volley 库通过网络获取 JSON 数据
- Android网络通信:通过volley和gson获取聚合数据
- Android中通过网络获取json数据来播放视频
- ajax通过网络获取数据
- iOS 通过URL网络获取XML数据的两种方式
- iOS 通过URL网络获取XML数据的两种方式
- tlplayer for android V2.7(支持变速不变调) 2014-07-20更新
- sahara的架构
- 共用体
- 我的C++第四周作业1(第三章部分例题与练习题)
- linux网络编程十一:将程序后台化,以守护进程的方式运行
- Android通过URL获取网络数据
- NSCoding Protocol Reference
- 线程局部存储实现
- 奇葩实现SlidingMenu,不得不转
- Oracle 自定义TYPE 的几种用法
- STM8S TIM1时钟分频
- C++实现计数排序
- 面试题:Minimum Depth of Binary Tree
- 线程的创建和启动---实现Runnable接口创建线程类