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