Java tutorial
/** * MagicClock, a clock that displays people's locations * Copyright (C) 2012 www.magicclock.de * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * You can contact the authors via authors@magicclock.de or www.magicclock.de */ package de.magicclock.helper; import java.io.ByteArrayOutputStream; import java.io.IOException; import org.apache.http.HttpResponse; import org.apache.http.HttpStatus; import org.apache.http.StatusLine; import org.apache.http.client.ClientProtocolException; import org.apache.http.client.HttpClient; import org.apache.http.client.methods.HttpGet; import org.apache.http.impl.client.DefaultHttpClient; import android.os.AsyncTask; public class RequestTask extends AsyncTask<String, String, String> { private httpResponseReceiver mResponseReceiver; @Override protected String doInBackground(String... uri) { HttpClient httpclient = new DefaultHttpClient(); HttpResponse response; String responseString = null; try { response = httpclient.execute(new HttpGet(uri[0])); StatusLine statusLine = response.getStatusLine(); if (statusLine.getStatusCode() == HttpStatus.SC_OK) { ByteArrayOutputStream out = new ByteArrayOutputStream(); response.getEntity().writeTo(out); out.close(); responseString = out.toString(); } else { //Closes the connection. response.getEntity().getContent().close(); throw new IOException(statusLine.getReasonPhrase()); } } catch (ClientProtocolException e) { responseString = "ERROR ClientProtocolException\n" + e.getStackTrace(); } catch (IOException e) { responseString = "ERROR IOException\n" + e.getStackTrace(); } return responseString; } public void setSuccessListener(httpResponseReceiver responseReceiver) { mResponseReceiver = responseReceiver; } @Override protected void onPostExecute(String result) { super.onPostExecute(result); if (mResponseReceiver != null) { mResponseReceiver.httpRequestResponse(result); } } }