LoginActivity.class
login_id = (EditText) findViewById(R.id.login_id);
login_pw = (EditText) findViewById(R.id.login_pw);
login_btn = (Button) findViewById(R.id.login_btn);
register_btn = (Button) findViewById(R.id.register_btn);
login_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
String _id = login_id.getText().toString();
String _password = login_pw.getText().toString();
new loginProc().execute(_id, _password);
}
});
class loginProc extends AsyncTask<String, Void, Boolean> {
@Override
protected Boolean doInBackground(String... params) {
// TODO Auto-generated method stub
RestClient rc = new RestClient();
return rc.loginProcess(params[0], params[1]);
}
@Override
protected void onPostExecute(Boolean result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
Log.d("result", "" + result);
if (result == true) {
Intent intent = new Intent(LoginActivity.this,
MainActivity.class);
// intent.putExtra("name", _id);
startActivity(intent);
} else {
}
}
}
------------------------------------------------------------------------------------------------------------------------
RestClient.class
public boolean loginProcess(String id, String password) {
HttpPost httpPost = new HttpPost(
"http://ip주소:8080/Springboard/rest/loginProc");
List<NameValuePair> nameValuePairs = new ArrayList<>();
nameValuePairs.add(new BasicNameValuePair("id", id.toString() + ""));
nameValuePairs.add(new BasicNameValuePair("password", password
.toString() + ""));
try {
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs,
HTTP.UTF_8));
// HttpResponse resp = httpClient.execute(httpPost);
httpClient.execute(httpPost);
return true;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return false;
}
안녕하세요 제가 지금 완전 초보라서요,,..
로그인을 만들려고 하는데 해본적이 없어서 이게 맞는지도 잘몰겠네용 ㅠㅠ
일단 질문을 하겠습니다.
AsyncTask의 onPostExecute에 result값이 서버랑 통신만 되면 true로 되는거같은데용(result값이) 이렇게가 아니라 어떨때는 true로 되게 해주고 어떨때는 false로 주고 이렇게 하려면 어떻게 해야하는지 ㅠㅠ 그리고 서버에서는 id랑password를 체크해서 true와 false를 반환하는데 Restclient에서 그 값을 어떻게 얻어와서 return 값으로 줄수있을지가 궁금합니다...질문이 많이 어지러우실거같은데요 정말 죄송하고 답변주시는분들 미리 감사드립니다.
아그리고 가장 중요한 질문은 이렇게 하는게 맞긴 맞는건가요?;;; 제가 지금 취업준비중이라 혼자 공부하고있어서 주위에 질문할 사람도 없고해서요 ㅠㅠ