如何在RESULT_OK检查登录详细信息时添加意图?

时间:2012-03-03 21:57:46

标签: java php android mysql username

我一直在努力为自己编写一个登录屏幕,我只是放弃了,无论如何,我在网上发现了一些代码,并且给了它一个去,到目前为止它有效并且我稍微改了一下,有办法我没办法可以把它编成我自己,但我可以理解它。

但是现在,如果登录成功,我想使用意图。

代码:

 public class LogIn extends Activity implements OnClickListener {

Button ok, back, exit;
TextView result;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    // Login button clicked
    ok = (Button) findViewById(R.id.btn_login);
    ok.setOnClickListener(this);

    result = (TextView) findViewById(R.id.lbl_result);

}

public void postLoginData() {
    // Create a new HttpClient and Post Header
    HttpClient httpclient = new DefaultHttpClient();

    /* login.php returns true if username and password is equal to saranga */
    HttpPost httppost = new HttpPost(
            "http://www.sencide.com/blog/login.php");

    try {
        // Add user name and password
        EditText uname = (EditText) findViewById(R.id.txt_username);
        String username = uname.getText().toString();

        EditText pword = (EditText) findViewById(R.id.txt_password);
        String password = pword.getText().toString();

        List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
        nameValuePairs.add(new BasicNameValuePair("username", username));
        nameValuePairs.add(new BasicNameValuePair("password", password));
        httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

        // Execute HTTP Post Request
        Log.w("SENCIDE", "Execute HTTP Post Request");
        HttpResponse response = httpclient.execute(httppost);

        String str = inputStreamToString(response.getEntity().getContent())
                .toString();
        Log.w("SENCIDE", str);

        if (str.toString().equalsIgnoreCase("true")) {
            Log.w("SENCIDE", "TRUE");
            result.setText("Login successful");

        } else {
            Log.w("SENCIDE", "FALSE");
            result.setText(str);
        }

    } catch (ClientProtocolException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

private StringBuilder inputStreamToString(InputStream is) {
    String line = "";
    StringBuilder total = new StringBuilder();
    // Wrap a BufferedReader around the InputStream
    BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    // Read response until the end
    try {
        while ((line = rd.readLine()) != null) {
            total.append(line);
        }
    } catch (IOException e) {
        e.printStackTrace();
    }
    // Return full string
    return total;
}

public void onClick(View view) {
    if (view == ok) {
        postLoginData();
    }
}

}

1 个答案:

答案 0 :(得分:0)

此部分是确定登录成功或失败的地方:

    if (str.toString().equalsIgnoreCase("true")) {
        Log.w("SENCIDE", "TRUE");
        result.setText("Login successful");
        // Do your Intent work here        <-------
    } else {
        Log.w("SENCIDE", "FALSE");
        result.setText(str);
    }