I am doing mutlithreading in my program with AsyncTask by calling a Method after 10 secs but instead having this Exception :
08-04 11:49:29.565: E/log_tag(885): Error converting result java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
Plz help me !!
Edit: This is code for AsyncTask:
  class Getphonenumber extends AsyncTask<String, Void, Void> {
         public Void doInBackground(String... p) {
          while (true) {
              getPhno();
           try {
            Thread.sleep(10000);
           } catch (InterruptedException ie) {
            ie.printStackTrace();
           }
          }
        }
        };
'getPhno()' method:
public void getPhno()
  {
      try{
            HttpClient httpclient = new DefaultHttpClient();
            HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000); //Timeout Limit
            List<NameValuePair> username = new ArrayList<NameValuePair>();
            username.add(new BasicNameValuePair("username", user));
            //Web Address
            HttpPost httppost = new HttpPost("http://www.starretailshop.com/Log/Retrieve.php");
            httppost.setEntity(new UrlEncodedFormEntity(username));
            HttpResponse response = httpclient.execute(httppost);
            ResponseHandler<String> responseHandler = new BasicResponseHandler();
            String responseBody = httpclient.execute(httppost,
                    responseHandler);
            Log.i("retrieve postData", response.getStatusLine().toString());
            InputStream content = response.getEntity().getContent();
            BufferedReader buffer = new BufferedReader(new InputStreamReader(content));
            String s = "";
            while ((s = buffer.readLine()) != null) {
                sendMsg(s,msg);
            }
            }catch(Exception e){
                  Log.e("log_tag", "Error converting result "+e.toString());
            }
  }
'sendMsg' Method:
private void sendMsg(String phoneNumber, String message)
    { 
       try{
            String phoneNumber1 = null;
           if(phoneNumber.startsWith("+"))
            {
                phoneNumber1 = phoneNumber.substring(3);
            }
            else if(phoneNumber.startsWith("0"))
            {
                phoneNumber1 = phoneNumber.substring(1);
            }
            else
            {
                phoneNumber1=phoneNumber;
            }
                PendingIntent pi = PendingIntent.getActivity(this, 0,
                    new Intent(), 0);                
                SmsManager sms = SmsManager.getDefault();
                sms.sendTextMessage(phoneNumber1, null, message, pi, null);
                Toast.makeText(this,"Msg sent to:" + phoneNumber1, Toast.LENGTH_LONG).show();
                phnoList.add(phoneNumber);
                phnoListd.add(phoneNumber1);
                //phnumber = phoneNumber;
                //================Update Database=====================
              try{
                  HttpClient httpclient = new DefaultHttpClient();
                  HttpConnectionParams.setConnectionTimeout(httpclient.getParams(), 10000); //Timeout Limit
                  List<NameValuePair> updatemsg = new ArrayList<NameValuePair>();
                  updatemsg.add(new BasicNameValuePair("outmsg1", message));
                  Calendar cal = Calendar.getInstance();
                  SimpleDateFormat sdf = new SimpleDateFormat("HH:m:ss dd-MM-yyyy");
                  String TimeStampDB = sdf.format(cal.getTime()); 
                  updatemsg.add(new BasicNameValuePair("currentdatetime1",TimeStampDB));
                  updatemsg.add(new BasicNameValuePair("mobileno",phoneNumber));
                    //Web Address
                    HttpPost httppost = new HttpPost("http://www.starretailshop.com/Log/Update1.php");
                    httppost.setEntity(new UrlEncodedFormEntity(updatemsg));
                    HttpResponse response = httpclient.execute(httppost);
                    ResponseHandler<String> responseHandler = new BasicResponseHandler();
                    String responseBody = httpclient.execute(httppost,
                            responseHandler);
                    Log.i("update1 postData", response.getStatusLine().toString());
                    }catch(Exception e){
                        Log.e("log_tag", "Error converting result "+e.toString());
                    }
                    //================================================
          }catch(Exception e)
          {
              e.printStackTrace();
              Toast.makeText(this,"Error occured", Toast.LENGTH_LONG).show();
          }
}
Finally I am calling new Getphonenumber().execute(); in an onClickListener of a Button.
 
     
     
    