title: Method getText() must be called from the UI Thread (Android Studio)
body: <p>I'm trying to create a login for an application. However I have a problem.</p>
  
  <p>This is my code:</p>
  
  <pre><code>package com.forgetmenot.loginregister;
  
  
  import java.util.ArrayList;
  import java.util.List;
  
  import org.apache.http.NameValuePair;
  import org.apache.http.message.BasicNameValuePair;
  import org.json.JSONArray;
  import org.json.JSONException;
  import org.json.JSONObject;
  
  import android.app.Activity;
  import android.content.Intent;
  import android.os.AsyncTask;
  import android.os.Bundle;
  import android.util.Log;
  import android.view.Menu;
  import android.view.MenuItem;
  import android.view.View;
  import android.widget.Button;
  import android.widget.EditText;
  
  public class MainActivity extends Activity {
      EditText uname, password;
      Button submit;
      // Creating JSON Parser object
      JSONParser jParser = new JSONParser();
      private static final String TAG = "Login";
  
      JSONObject json;
      private static String url_login = "http://localhost:8080/ForgetMeNotApplication/Login";
     //JSONArray incoming_msg = null;
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.activity_main);
         findViewsById();
         submit.setOnClickListener(new View.OnClickListener() {
  
             @Override
             public void onClick(View arg0) {
                 // execute method invokes doInBackground() where we open a Http URL connection using the given Servlet URL
                 //and get output response from InputStream and return it.
                  new Login().execute();
  
             }
         });
      }
      private void findViewsById() {
  
          uname = (EditText) findViewById(R.id.txtUser);
          password = (EditText) findViewById(R.id.txtPass);
          submit = (Button) findViewById(R.id.login);
      }
      private class Login extends AsyncTask&lt;String, String, String&gt;{
  
          @Override
          protected String doInBackground(String... args) {
              // Getting username and password from user input
  
              String username = uname.getText().toString();
              String pass = password.getText().toString();
  
              List&lt;NameValuePair&gt; params = new ArrayList&lt;NameValuePair&gt;();
              params.add(new BasicNameValuePair("u",username));
              params.add(new BasicNameValuePair("p",pass));
              json = jParser.makeHttpRequest(url_login, "GET", params);
              String s=null;
  
              try {
                  s= json.getString("info");
                  Log.d("Msg", json.getString("info"));
                  if(s.equals("success")){
                      Intent login = new Intent(getApplicationContext(), home.class);
                      login.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                      startActivity(login);
                      finish();
                  }
              } catch (JSONException e) {
                  // TODO Auto-generated catch block
                  e.printStackTrace();
              }
  
              return null;
          }
  
      }
  
      @Override
      public boolean onCreateOptionsMenu(Menu menu) {
          // Inflate the menu; this adds items to the action bar if it is present.
          getMenuInflater().inflate(R.menu.menu_main, menu);
          return true;
      }
  
      @Override
      public boolean onOptionsItemSelected(MenuItem item) {
          // Handle action bar item clicks here. The action bar will
          // automatically handle clicks on the Home/Up button, so long
          // as you specify a parent activity in AndroidManifest.xml.
          int id = item.getItemId();
          if (id == R.id.action_settings) {
              return true;
          }
          return super.onOptionsItemSelected(item);
      }
  }
  </code></pre>
  
  <p>Android studio says that method <code>getText()</code> must be called from the UI Thread at the istructions: <code>uname.getText().toString();</code> and  <code>password.getText().toString();</code> Possible solutions??</p>