title: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
body: <p>I am using simple thread to execute the httpGet to server when a button is clicked, but I get this after execution.</p>
  
  <pre><code>Button b_back = (Button) findViewById(R.id.bback);
  b_back.setOnClickListener(this);
  Button b_sign_up = (Button) findViewById(R.id.signup_button);
  b_sign_up.setOnClickListener(this);
  
  @Override
  public void onClick(View arg0) 
  {
      // TODO Auto-generated method stub
      switch (arg0.getId()) 
      {
          case R.id.bback:
              Intent i = new Intent(this, MainSwitch.class);
              finish();
              startActivity(i);
              break;
  
              // More buttons go here (if any) ...
  
          case R.id.signup_button:
              if(username.getText().toString().equalsIgnoreCase("") ||
                 password.getText().toString().equalsIgnoreCase("") ||
                 email.getText().toString().equalsIgnoreCase(""))
              {
                  AlertDialog.Builder dialog = new AlertDialog.Builder(this);
                  dialog.setMessage("Please fill in all the gaps!");
                  dialog.show();
              }
              else
              {
                  //****** Call method that sends the information to server.
                  Thread background = new Thread (new Runnable() 
                  {
                      public void run()
                      {
                          // Call the time consuming method
                          handler.sendEmptyMessage(0);
                      }
                  });
                  background.start();
              }
      }
  }
  
  private Handler handler = new Handler() 
  {
      @Override
      public void handleMessage(Message msg) 
      {
          Toast.makeText(getApplicationContext(),
                         "Done thread",
             Toast.LENGTH_SHORT).show();
  
      }
  };
  </code></pre>