2

I have a Login page where I want to authenticate the username and password from the database on the network. The problem is while doing the AsyncTask I want to return the username and password values. But this is not happening.

How do I return the values? Here is my login page code.

public class Login extends Activity {
Integer aaa=0;
Button b,b2;
RelativeLayout r;
TextView t, t2;
String str1, str2, username, password;
String A = null, B = null;
EditText et1, et2;
Dialog myDialog;
String FILENAME = "http://animsinc.com/query.php";
protected ProgressDialog dialog;
protected Handler h;
static InputStream in = null;
static JSONObject jObj = null;
static String json = "";
private static final String TAG_ID = "id";

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.sign_in);

    Display display = ((WindowManager)getSystemService(Context.WINDOW_SERVICE))
            .getDefaultDisplay();
    int width = display.getWidth();
    int height = display.getHeight() / 4;
    r = (RelativeLayout) findViewById(R.id.RL);
    RelativeLayout.LayoutParams r = new RelativeLayout.LayoutParams(width,
            height);
    t = (TextView) findViewById(R.id.textView1);
    t2 = (TextView) findViewById(R.id.textView2);
    t.setOnClickListener(link);
    t2.setOnClickListener(fgtpass);

    et1 = (EditText) findViewById(R.id.editText1);
    et2 = (EditText) findViewById(R.id.editText2);

    b2 = (Button) findViewById(R.id.button2);
    b2.setOnClickListener(temp);

    b = (Button) findViewById(R.id.button1);
    b.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            if ((et1.getText().length() == 0)
                    || (et2.getText().length() == 0))

            {

                Toast.makeText(getApplicationContext(),
                "Please enter correct details",Toast.LENGTH_LONG)
                        .show();

            } else {

                dialog = ProgressDialog.show(Login.this, "Loading",
                        "Please Wait...");

            /*  h = new Handler() {

                    @Override
                    public void handleMessage(Message msg) {
                        super.handleMessage(msg);
                        dialog.dismiss();
                    }
                };

                new Thread() {

                    @Override
                    public void run() {
                        super.run();

                        String st=startDownload();

                        try {
                            Thread.sleep(3000);
                            h.sendEmptyMessage(0);
                        } catch (InterruptedException e) {
                            e.printStackTrace();
                        }

                    }

                }.start();*/

     Toast.makeText(getApplicationContext(),""+st,Toast.LENGTH_LONG).show();
        String st=startDownload();
 Toast.makeText(getApplicationContext(),"aaa="+aaa, Toast.LENGTH_LONG).show();
 Toast.makeText(getApplicationContext(),""+st, Toast.LENGTH_LONG).show();
            }
if ((et1.getText().toString().equals(username))&&           (et2.getText().toString().equals(password)))
           {
    Intent openStartingPoint = new Intent(Login.this,
                        UserActivity.class);
                startActivity(openStartingPoint);
            }

        }

    });


}

private 
String startDownload() {
    String C = null;
    new AppTask().execute(FILENAME);
    aaa++;
    return C;
}


private View.OnClickListener temp = new View.OnClickListener() {
    public void onClick(View V) {
        Intent openStartingPoint = new Intent(Login.this,
                UserActivity.class);
        startActivity(openStartingPoint);
    }
};

private View.OnClickListener link = new View.OnClickListener() {
    public void onClick(View V) {
        Intent openStartingPoint = new Intent(Login.this,
                ContactDetails.class);
        startActivity(openStartingPoint);
    }
};

private View.OnClickListener fgtpass = new View.OnClickListener() {
    public void onClick(View V) {
        myDialog = new Dialog(Login.this);
        myDialog.setContentView(R.layout.emailpop);
        myDialog.setTitle("Forgot Password");
        myDialog.setCancelable(true);

        // for save
        Button ok = (Button) myDialog.findViewById(R.id.button1);
        ok.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {

                myDialog.dismiss();

            }
        });
        myDialog.show();
    }
};


@Override
protected void onPause() {
    // TODO Auto-generated method stub
    super.onPause();

}

public class AppTask extends AsyncTask<String, Integer, String> {

    @Override
    protected void onPreExecute() {
        super.onPreExecute();

    }

    @Override
    protected void onPostExecute(String result) {
        // TODO Auto-generated method stub
        super.onPostExecute(result);
    }

    @Override
    protected void onProgressUpdate(Integer... values) {
        // TODO Auto-generated method stub
        super.onProgressUpdate(values);
    }

    @Override
    protected String doInBackground(String... params) {
        String is = null;
        str1 = et1.getText().toString();
        str2 = et2.getText().toString();

        if (str1.length() > 0 && str2.length() > 0) {
            A = str1;
            B = str2;
            HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost(
                    "http://animsinc.com/query.php");
            try {
        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(
                        2);
        nameValuePairs.add(new BasicNameValuePair("username", str1));
        nameValuePairs.add(new BasicNameValuePair("password", str2));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                httpclient.execute(httppost);

        HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = EntityUtils.toString(entity);

                JSONArray jArray = new JSONArray(is);

                for (int i = 0; i < jArray.length(); i++) {

            JSONObject jObject = jArray.getJSONObject(i);

                    username = jObject.getString("username");
                    password = jObject.getString("password");
                    aaa++;
                }

            } catch (ClientProtocolException e) {
                // TODO Auto-generated catch block
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (IOException e) {
                // TODO Auto-generated catch block
            } catch (JSONException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

        } 

        return username;
    }

}

}
1
  • you are returning only username. you have to make a array as String userinfo [0] = username; userinfo [1] = password; and return userinfo. hope this helps Commented Mar 28, 2013 at 5:40

1 Answer 1

0
@Override
protected void onPostExecute(String result) {
    super.onPostExecute(result);

// result is the value you return from doInBackground     
String username = result;
}
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.