在《第一行代码》上面看到这么个例子记录下来,方便自己以后使用。
把HttpURLConnection封装起来,直接使用。
public class HttpUtil {
public static final String TAG = "HttpUtil";
public static void sendHttpRequest(final String address, final HttpCallbackListener listener){
new Thread(new Runnable() {
@Override
public void run() {
HttpURLConnection connection = null;
try{
URL url = new URL(address);
connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(8000);
connection.setReadTimeout(8000);
InputStream in = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder response = new StringBuilder();
String line;
while((line = reader.readLine()) != null){
response.append(line);
}
if(listener != null){
LogUtil.i(TAG, "listener.onFinish() - " + response.toString());
listener.onFinish(response.toString());
}
}catch (Exception e){
if(listener != null){
listener.onError(e);
}
}finally {
if(connection != null){
connection.disconnect();
}
}
}
}).start();
}
}
在其他代码中可以直接调用:
HttpUtil.sendHttpRequest(address, new HttpCallbackListener() {
@Override
public void onFinish(String response) {
//do something here
}
@Override
public void onError(Exception e) {
//do something here
}
});