1. 註冊
開啟 “留拍” 軟體,進入 主頁面 ,然後按 註冊 按鈕:
在註冊頁面什麼內容 都沒有寫 上去的情況下,按 完成 按鈕:
首先把URL封裝起來:
public class URL { public final static String BASEURL = "http://192.168.94.161:1691/aos/mall"; public final static String REGISTER = BASEURL + "/user/addUser.do"; public final static String LOGIN = BASEURL + "/user/listUser.do"; }
然後通過完成按鈕來作使用者輸入處理,並且與後臺交換資料,後臺返回一個引數 “Y” 則表明傳參成功且後臺返回值成功,即註冊成功:
1 case R.id.register_complete: 2 if (user_name.length() < 1) { 3 user_name.requestFocus(); 4 user_name.setError("請輸入使用者名稱"); 5 return; 6 } 7 if (password.length() < 1) { 8 password.setError("請輸入密碼!"); 9 password.setText(""); 10 return; 11 } 12 if (re_password.length() < 1) { 13 re_password.setError("請再次輸入確認密碼!"); 14 re_password.setText(""); 15 return; 16 } 17 if (pwd.length() != re_pwd.length()) { 18 re_password.requestFocus(); 19 re_password.setError("您兩次輸入的密碼不一致!請重新輸入"); 20 re_password.setText(""); 21 return; 22 } 23 if (phone.length() < 1) { 24 phone.requestFocus(); 25 phone.setError("請輸入電話"); 26 return; 27 } 28 29 RequestParams params = new RequestParams(); 30 params.addQueryStringParameter("f_name", user_name.getText() 31 .toString().trim()); 32 params.addQueryStringParameter("f_password", password.getText() 33 .toString().trim()); 34 params.addQueryStringParameter("f_sex", sex); 35 params.addQueryStringParameter("f_phone", phone.getText() 36 .toString().trim()); 37 params.addQueryStringParameter("f_address", address.getText() 38 .toString().trim()); 39 params.addQueryStringParameter("f_introduction", register_complete 40 .getText().toString().trim()); 41 42 // ArrayList<NameValuePair> list = new 43 // ArrayList<NameValuePair>(); 44 // params.addQueryStringParameter(list); 45 http.send(HttpMethod.POST, URL.REGISTER, params, 46 new RequestCallBack<String>() { 47 48 @Override 49 public void onFailure(HttpException arg0, String arg1) { 50 Toast.makeText(Register.this, arg1, 0).show(); 51 } 52 53 @Override 54 public void onSuccess(ResponseInfo<String> responseInfo) { 55 String result = responseInfo.result; 56 57 Log.i("inof", result); 58 try { 59 JSONObject jsonObject = new JSONObject(result); 60 String rs = jsonObject.optString("appmsg"); 61 if (rs.isEmpty()) { 62 Toast.makeText(Register.this, "null", 0) 63 .show(); 64 } else if (rs.equals("Y")) { 65 Toast.makeText(Register.this, "註冊成功", 0) 66 .show(); 67 finish(); 68 } 69 } catch (JSONException e) { 70 // TODO Auto-generated catch block 71 e.printStackTrace(); 72 } 73 74 // JSONArray jsonArray; 75 // String string; 76 // try { 77 // jsonArray=new JSONArray(responseInfo.result); 78 // string = jsonArray.getString(0); 79 // Log.i("dddddddd", string); 80 // } catch (JSONException e) { 81 // // TODO Auto-generated catch block 82 // e.printStackTrace(); 83 // } 84 // System.out.print("re"+rs); 85 // startActivity(new 86 // Intent(this,MainActivity.class)); 87 88 // if (rs.equals("yes")) { 89 // Register register = new Register(); 90 // register.finish(); 91 // } 92 } 93 }); 94 break;
註冊成功後,後臺會儲存使用者輸入的資訊,並返回值。
然後使用者可以進行登陸,通過與後臺資料庫匹配資訊來作判別使用者是否存在:
1 public void onClick(View v) { 2 // TODO Auto-generated method stub 3 if (user_name.length() < 1) { 4 user_name.requestFocus(); 5 user_name.setError("請輸入使用者名稱"); 6 return; 7 } 8 if (password.length() < 1) { 9 password.requestFocus(); 10 password.setError("請輸入密碼"); 11 password.setText(""); 12 return; 13 } 14 RequestParams params = new RequestParams(); 15 params.addQueryStringParameter("f_name", user_name.getText().toString() 16 .trim()); 17 params.addQueryStringParameter("f_password", password.getText() 18 .toString().trim()); 19 http.send(HttpMethod.POST, URL.LOGIN, params, 20 new RequestCallBack<String>() { 21 22 @Override 23 public void onFailure(HttpException arg0, String arg1) { 24 Toast.makeText(Login.this, arg1, 0).show(); 25 } 26 27 @Override 28 public void onSuccess(ResponseInfo<String> responseInfo) { 29 String result = responseInfo.result; 30 31 Log.i("inof", result); 32 try { 33 JSONObject jsonObject = new JSONObject(result); 34 String rs = jsonObject.optString("f_id"); 35 if (rs.isEmpty()) { 36 Toast.makeText(Login.this, rs, 0).show(); 37 } else if (rs.equals("N")) { 38 Toast.makeText(Login.this, "賬戶或密碼錯誤", 0).show(); 39 } 40 else 41 {Toast.makeText(Login.this, "登入成功", 0).show(); 42 if(jsonObject.optString("f_status").equals("customer")) 43 { 44 startActivity(new Intent(Login.this,Index.class)); 45 finish(); 46 } 47 else//攝影 48 { 49 startActivity(new Intent(Login.this,Index2.class)); 50 finish(); 51 } 52 53 54 55 } 56 57 } catch (JSONException e) { 58 // TODO Auto-generated catch block 59 e.printStackTrace(); 60 } 61 } 62 }); 63 }
由於對 “完成” 按鈕設定了判斷( 使用者名稱 與 電話 是 必填項 , 兩次密碼 要判斷 長度 和 輸入內容 是否完全一致)並監聽,所以如果判斷條件不通過的話, “完成” 按鈕是跳轉不成功的: