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;
}
}
}