Thread example with Handler in android

Frequently used code samples and tutorials
vivekkalady
Site Admin
Posts: 35
Joined: Tue Nov 18, 2014 2:39 pm

Thread example with Handler in android

Postby vivekkalady » Sun Nov 23, 2014 10:20 am

This is a simple example of thread
The thread downloads the string from web and send it to the handler

On response, the handler will show the string as a Toast.

Code: Select all

Thread background = new Thread(new Runnable() {
                     
                    private final HttpClient Client = new DefaultHttpClient();
                    private String URL = "http://forum.androidappmasters.com/sample.php";
                     
                    // After call for background.start this run method call
                    public void run() {
                        try {
 
                            String strReturnData = "";
                            HttpGet httpget = new HttpGet(URL);
                            ResponseHandler<String> responseHandler = new BasicResponseHandler();
                            strReturnData = Client.execute(httpget, responseHandler);
                            threadMsg(strReturnData);
 
                        } catch (Throwable t) {
                            // just end the background thread
                            Log.i("AndroidAppMasters", "Thread  exception " + t);
                        }
                    }
 
                    private void threadMsg(String msg) {
 
                        if (!msg.equals(null) && !msg.equals("")) {
                            Message msgObj = handler.obtainMessage();
                            Bundle b = new Bundle();
                            b.putString("message", msg);
                            msgObj.setData(b);
                            handler.sendMessage(msgObj);
                        }
                    }
 
                    // Define the Handler that receives messages from the thread and update the progress
                    private final Handler handler = new Handler() {
 
                        public void handleMessage(Message msg) {
                             
                            String aResponse = msg.getData().getString("message");
 
                            if ((null != aResponse)) {
 
                                // ALERT MESSAGE
                                Toast.makeText(
                                        getBaseContext(),
                                        "Data : "+aResponse,
                                        Toast.LENGTH_SHORT).show();
                            }
                            else
                            {
 
                                    // ALERT MESSAGE
                                    Toast.makeText(
                                            getBaseContext(),
                                            "Not Got Response.",
                                            Toast.LENGTH_SHORT).show();
                            }   
 
                        }
                    };
 
                });
                // Start Thread
                background.start();

Return to “Tutorials & Examples”

Who is online

Users browsing this forum: No registered users and 1 guest

cron