1. 使用url来访问网络
public class HttpUtils {
public static final Login(final String url) {
new Thread(new Runaable() {
@Override
public void run() {
HttpURLConnection connection;
try {
connection = (HttpURLConnection) new URL(url).openConnection();
connection.setRequestMethod("GET");
connection.getInputStream();
// 开始读写数据
} catch (Exception e) {
e.printStackTrace();
}finally{
// 关闭流
}
}
}).start();
}
}
// -------------------------------我是分割线---------------------------------
public class Httpdata extends AsyncTask<String, Void, String> {
private HttpClient httpClient;
private HttpGet httpGet;
private String url;
private HttpResponse httpResponse;
private HttpEntity httpEntity;
private InputStream in;
private BufferedReader br;
private String line;
private StringBuffer sb;
private HttpGetDataListener listener;
public Httpdata(String url, HttpGetDataListener listener) {
super();
this.url = url;
this.listener = listener;
}
@Override
protected String doInBackground(String... params) {
try {
httpClient = new DefaultHttpClient();
httpGet = new HttpGet(url);
httpResponse = httpClient.execute(httpGet);
httpEntity = httpResponse.getEntity();
in = httpEntity.getContent(); // 获取内容
br = new BufferedReader(new InputStreamReader(in));
line = null;
sb = new StringBuffer();
while ((line = br.readLine()) != null) {
sb.append(line);
}
return sb.toString(); // 是在这里return还是在finally中关闭流后在return呢?
} catch (Exception e) {
e.printStackTrace();
} finally{
}
return null;
}
@Override
protected void onPostExecute(String result) {
listener.getDataUrl(result);
super.onPostExecute(result);
}
}