Android 应用网络通讯类

来源:互联网 发布:淘宝返现怎么查询 编辑:程序博客网 时间:2024/06/06 14:08
public class NetConnection {public NetConnection(final String url,final HttpMethod method,final SuccessCallback successCallback,final FailCallback failCallback,final String ...kvs){//避免阻碍主UI线程new AsyncTask<Void, Void, String>() {@Overrideprotected String doInBackground(Void... params) {// TODO Auto-generated method stubStringBuffer paramsStr = new StringBuffer();for (int i = 0; i < kvs.length; i+=2) {paramsStr.append(kvs[i]).append("=").append(kvs[i+1]).append("&");}try {URLConnection uc;switch (method) {case POST:uc = new URL(url).openConnection();uc.setDoOutput(true);BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(uc.getOutputStream(),Config.CHARSET));bw.write(paramsStr.toString());bw.flush();break;default:uc = new URL(url+"?"+paramsStr.toString()).openConnection();break;}System.out.println("Request url:"+uc.getURL());System.out.println("Request date:"+paramsStr);BufferedReader br = new BufferedReader(new InputStreamReader(uc.getInputStream(),Config.CHARSET));String line = null;StringBuffer result = new StringBuffer();while((line=br.readLine())!=null){result.append(line);}System.out.println("Result:"+result);return result.toString();} catch (MalformedURLException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}return null;}@Overrideprotected void onPostExecute(String result) {// TODO Auto-generated method stub//在此可操作主UI线程super.onPostExecute(result);if(result!=null){if(successCallback!=null){successCallback.onSuccess(result);}}else{if(failCallback!=null){failCallback.onFail();}}}}.execute();}public static interface SuccessCallback{void onSuccess(String result);}public static interface FailCallback{void onFail();}}

0 0
原创粉丝点击