Thanks for the answers. Much appreciated
On Apr 20, 4:02 pm, Romain Guy <[email protected]> wrote: > If you are using Android 1.5/Cupcake, you should definitely use > android.os.AsyncTask. > > > > On Mon, Apr 20, 2009 at 7:44 AM, Arnaud Weber <[email protected]> wrote: > > You shall get a book or look on internet, there are some examples. > > Don't hesitate also to look in source code of open source projects. like in > > code.google. http://code.google.com/hosting/search?q=android&projectsearch=Search+... > > > What you're looking for is a handler. > > Look in the Handler object documentation. Handlers are the nicest way to > > send information back to your calling thread. > > > Besides, here is a helper class i'm often using : > > > package com.webyourdailyway.utils; > > import java.io.IOException; > > import org.apache.http.HttpResponse; > > import org.apache.http.client.ClientProtocolException; > > import org.apache.http.client.HttpClient; > > import org.apache.http.client.HttpResponseException; > > import org.apache.http.client.methods.HttpUriRequest; > > import org.apache.http.impl.client.BasicResponseHandler; > > import android.os.Handler; > > import android.os.Message; > > import android.util.Log; > > public class HttpRunnable implements Runnable { > > public static final int MESSAGE_OK = 0x01; > > public static final int MESSAGE_ERROR = 0x02; > > > public final HttpClient client; > > public final HttpUriRequest request; > > public final Handler handler; > > public HttpRunnable(HttpClient client, HttpUriRequest request, > > Handler handler) { > > super(); > > this.client = client; > > this.request = request; > > this.handler = handler; > > } > > public void run() { > > try { > > BasicResponseHandler responseHandler = new > > BasicResponseHandler() { > > public String handleResponse(HttpResponse response) > > throws HttpResponseException, IOException { > > String resp = super.handleResponse(response); > > Message msg = new Message(); > > msg.what=MESSAGE_OK; > > resp = new String(resp.getBytes(),"UTF-8"); > > msg.obj = resp; > > handler.sendMessage(msg); > > return resp; > > } > > }; > > client.execute(request, responseHandler); > > > } catch (ClientProtocolException e) { > > Log.e("HTTP_TEST", "Couldn't connect to " + request.getURI(), > > e); > > Message msg = new Message(); > > msg.what=MESSAGE_ERROR; > > msg.obj = e.getLocalizedMessage(); > > handler.sendMessage(msg); > > } catch (IOException e) { > > Log.e("HTTP_TEST", "Couldn't connect to " + request.getURI(), > > e); > > Message msg = new Message(); > > msg.what=MESSAGE_ERROR; > > msg.obj = e.getLocalizedMessage(); > > handler.sendMessage(msg); > > } > > } > > } > > > You use it like that : > > client = new DefaultHttpClient(); > > > String url = your url... ; > > Log.d("Network","calling url "+url); > > HttpUriRequest request = new HttpGet(url); > > Handler handler = new Handler(){ > > public void handleMessage(Message msg) { > > super.handleMessage(msg); > > //Here is the piece of code executed in your main thread > > when the http has been returned. > > } > > }; > > HttpRunnable runnable = new HttpRunnable(client, request, handler); > > Thread thread = new Thread(runnable); > > thread.start(); > > > 2009/4/20 kungfuslippers <[email protected]> > > >> Hi, > > >> I understand that if you want to display UI stuff from other than the > >> main thread i.e. a separate thread - you can use some form of Handler > >> classes post() method(s) to put a Dialog display (for example) in the > >> event queue? > > >> Can anyone point me to some sample code or to where the usage is > >> defined in the API docs? > > >> thanks > > -- > Romain Guy > Android framework engineer > [email protected] > > Note: please don't send private questions to me, as I don't have time > to provide private support. All such questions should be posted on > public forums, where I and others can see and answer them --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Beginners" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/android-beginners?hl=en -~----------~----~----~----~------~----~------~--~---

