本文共 1473 字,大约阅读时间需要 4 分钟。
最近在写Android,因为get请求太常用了,就做了个封装,课本整合,
public class 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); connection.setDoInput(true); connection.setDoOutput(true); 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){ listener.onFinish(response.toString()); } }catch (Exception e){ if(listener!=null){ listener.onError(e); } }finally { if(connection!=null){ connection.disconnect(); } } } }).start(); } } public interface HttpCallbackListener { void onFinish(String response); void onError(Exception e); } activity中使用private void sendToGetCoin(int car_id){
String coinUrl="http://"+ MyIp.ip+":8080/CarSafe/IntegrationServlet?car_id="+car_id; HttpUtil.sendHttpRequest(coinUrl, new HttpCallbackListener() { @Override public void onFinish(String response) { Message message=new Message(); message.what=SHOW_COIN; message.obj=response; handler.sendMessage(message);//这样就完成了和主线程通信,通过主线程显示出来 } @Override public void onError(Exception e) { } }); }转载地址:http://apjqi.baihongyu.com/