"留拍"-注册/登录详解

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     }

 

   

由于对 “完成” 按钮设置了判断( 用户名电话必填项两次密码 要判断 长度输入内容 是否完全一致)并监听,所以如果判断条件不通过的话, “完成” 按钮是跳转不成功的:

 

 

   

 

posted @ 2015-12-18 17:56  Y-Kaci  阅读(274)  评论(0编辑  收藏  举报