"留拍"-註冊/登入詳解

Kaci發表於2015-12-18

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     }

 

   

由於對 “完成” 按鈕設定了判斷( 使用者名稱電話必填項兩次密碼 要判斷 長度輸入內容 是否完全一致)並監聽,所以如果判斷條件不通過的話, “完成” 按鈕是跳轉不成功的:

 

 

   

 

相關文章