Big Bug Ban

兴趣 践行 创新

Android开发日志 HTTP联网下载

 

本文已经参加   “首届 Google 暑期大学生博客分享大赛——2010 Android 篇”

为princehaku原创   如果您忘了我的地址  请使用google搜索  “Android开发日志”

最开始看到Android的参考文档..发现有java.net.HttpURLConnection一阵狂喜..

之前有用HttpURLConnection封装了HTTP的GET和POST两个方法..于是直接将以前的类放入

但是出问题了..什么都没有返回..去掉final..跳出了警告…

过多的重定向?..什么意思…找啊找…看到某论坛上的一位和我的差不多.

只是少了很多的setRequestProperty

难道是因为这个?..

于是乎..去掉所有setRequestProperty

然后正常了…

好了..得到GAE上返回的数据了…接下来就是在手机再次解析这些数据..然后存入日程..

还有就是得新加个进程…服务器上的数据也要改..中间得加缓存机制..不然超时很容易….希望明天能搞定…

最后放上下载的类 ..去掉了POST..去掉了cookie…基本只能用来单下载了…

package VirtualBroser;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * 下载网页内容
 * 
 * @author princehaku
 */
public class VB {
  
	/**
	 * url
	 * 
	 * @param url
	 *            提交地址
	 * @param encode
	 *            编码
	 */
	@SuppressWarnings("finally")
	public String get(String url, String encode) throws Exception {

		String line = "";

		String content = "";

		HttpURLConnection httpConn = null;

		try {
			URL turl = new URL(url);
			// System.out.println(url);
			httpConn = (HttpURLConnection) turl.openConnection();
			httpConn.setRequestMethod("GET");
                        httpConn.connect();
			InputStream uurl=null;

			uurl = httpConn.getInputStream();

			BufferedReader br = new BufferedReader(new InputStreamReader(uurl,
					encode));
			while (line != null) {
				line = br.readLine();
				if (line   !=   null)
					content = content.toString() + line.toString() + "\n";
			}
			// 关闭连接
			httpConn.disconnect();
			// System.out.println(content);
			return content;

		} catch (Exception e) {
			// 关闭连接
			httpConn.disconnect();
			// System.out.println(e.getMessage());
			throw e;
                }
	}
}

Written by princehaku

8月 7th, 2010 at 5:01 下午

Posted in Android

Tagged with ,

without comments

Leave a Reply