Как добавить намерение, когда RESULT_OK проверяет данные для входа? - PullRequest
0 голосов
/ 04 марта 2012

Я изо всех сил пытался закодировать свой экран входа в систему, и я просто сдался, во всяком случае, я нашел какой-то код в сети и дал ему попробовать, пока он работает, и я немного изменил его, нет способов, как я Я мог бы это кодировать, но я могу это понять.

Но теперь я хочу использовать намерение, если вход выполнен успешно.

Код:

 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 голосов
/ 04 марта 2012

В этом разделе определяется успех или неудача входа в систему:

    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);
    }
...