서버에서 끌어와 파싱한부분까지는 된것 같습니다... 하지만 로그인 성공/실패 처리를 어떻게해야할지 모르겠습니다.
도와주세요 ㅠㅠ
@NoTitle
@EActivity(R.layout.activity_main)
public class MainActivity extends Activity {
private final String BASE_URL = "http://~~~/post/";
@ViewById EditText id;
@ViewById EditText pw;
private void savePreferences(){
//다음 Activity에서 사용할 ID, PW 저장(key, value)
SharedPreferences pref = getSharedPreferences("pref", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString("id", "id");
editor.putString("pw", "pw");
editor.commit();
}
@Click({R.id.join, R.id.login, R.id.forget})
void click(View v){
switch (v.getId()) {
case R.id.join:
startActivity(new Intent(getApplicationContext(), JoinFormActivity_.class));
break;
case R.id.login:
String userId = id.getText().toString();
String userPw = pw.getText().toString();
login(userId, userPw);
break;
case R.id.forget:
break;
}
}
public void login(String id, String pw){
String url = "login.do";
ArrayList<NameValuePair> post = new ArrayList<NameValuePair>();
post.add(new BasicNameValuePair("id", id));
post.add(new BasicNameValuePair("pw", pw));
postParse(post, url);
}
@Background
void postParse(ArrayList<NameValuePair> post, String url){
DefaultHttpClient client = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(BASE_URL + url);
/* 타임아웃 설정 */
HttpParams httpParams = client.getParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 3000);
HttpConnectionParams.setSoTimeout(httpParams, 3000);
HttpResponse httpResponse;
try {
/* POST 파라미터를 UTF-8로 저장 */
UrlEncodedFormEntity encodedFormEntity = new UrlEncodedFormEntity(post, "UTF-8");
httpPost.setEntity(encodedFormEntity);
httpResponse = client.execute(httpPost);
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(httpResponse.getEntity().getContent(), "UTF-8"));
String line = null;
String result = "";
while((line = bufferedReader.readLine()) != null){
result += line;
}
Log.v("test", result);
//시작
//방법1
ObjectMapper mapper = new ObjectMapper();
Account acc = mapper.readValue(result, Account.class);
//방법2
JSONObject mainJson = new JSONObject(result);
String id = mainJson.getString("id");
String pw = mainJson.getString("pw");
//끝
message(acc);
} catch (Exception e) {
e.printStackTrace();
}
}
@UiThread
void message(Account ac){
startActivity(new Intent(getApplicationContext(), ControlActivity_.class));
Toast.makeText(getApplicationContext(), "Login Sucess!!!!", Toast.LENGTH_LONG).show();
}
}