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” 则表明传参成功且后台返回值成功,即注册成功:

 case R.id.register_complete:
if (user_name.length() < 1) {
user_name.requestFocus();
user_name.setError("请输入用户名");
return;
}
if (password.length() < 1) {
password.setError("请输入密码!");
password.setText("");
return;
}
if (re_password.length() < 1) {
re_password.setError("请再次输入确认密码!");
re_password.setText("");
return;
}
if (pwd.length() != re_pwd.length()) {
re_password.requestFocus();
re_password.setError("您两次输入的密码不一致!请重新输入");
re_password.setText("");
return;
}
if (phone.length() < 1) {
phone.requestFocus();
phone.setError("请输入电话");
return;
} RequestParams params = new RequestParams();
params.addQueryStringParameter("f_name", user_name.getText()
.toString().trim());
params.addQueryStringParameter("f_password", password.getText()
.toString().trim());
params.addQueryStringParameter("f_sex", sex);
params.addQueryStringParameter("f_phone", phone.getText()
.toString().trim());
params.addQueryStringParameter("f_address", address.getText()
.toString().trim());
params.addQueryStringParameter("f_introduction", register_complete
.getText().toString().trim()); // ArrayList<NameValuePair> list = new
// ArrayList<NameValuePair>();
// params.addQueryStringParameter(list);
http.send(HttpMethod.POST, URL.REGISTER, params,
new RequestCallBack<String>() { @Override
public void onFailure(HttpException arg0, String arg1) {
Toast.makeText(Register.this, arg1, 0).show();
} @Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String result = responseInfo.result; Log.i("inof", result);
try {
JSONObject jsonObject = new JSONObject(result);
String rs = jsonObject.optString("appmsg");
if (rs.isEmpty()) {
Toast.makeText(Register.this, "null", 0)
.show();
} else if (rs.equals("Y")) {
Toast.makeText(Register.this, "注册成功", 0)
.show();
finish();
}
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} // JSONArray jsonArray;
// String string;
// try {
// jsonArray=new JSONArray(responseInfo.result);
// string = jsonArray.getString(0);
// Log.i("dddddddd", string);
// } catch (JSONException e) {
// // TODO Auto-generated catch block
// e.printStackTrace();
// }
// System.out.print("re"+rs);
// startActivity(new
// Intent(this,MainActivity.class)); // if (rs.equals("yes")) {
// Register register = new Register();
// register.finish();
// }
}
});
break;

注册成功后,后台会存储用户输入的信息,并返回值。

然后用户可以进行登陆,通过与后台数据库匹配信息来作判别用户是否存在:

 public void onClick(View v) {
// TODO Auto-generated method stub
if (user_name.length() < 1) {
user_name.requestFocus();
user_name.setError("请输入用户名");
return;
}
if (password.length() < 1) {
password.requestFocus();
password.setError("请输入密码");
password.setText("");
return;
}
RequestParams params = new RequestParams();
params.addQueryStringParameter("f_name", user_name.getText().toString()
.trim());
params.addQueryStringParameter("f_password", password.getText()
.toString().trim());
http.send(HttpMethod.POST, URL.LOGIN, params,
new RequestCallBack<String>() { @Override
public void onFailure(HttpException arg0, String arg1) {
Toast.makeText(Login.this, arg1, 0).show();
} @Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String result = responseInfo.result; Log.i("inof", result);
try {
JSONObject jsonObject = new JSONObject(result);
String rs = jsonObject.optString("f_id");
if (rs.isEmpty()) {
Toast.makeText(Login.this, rs, 0).show();
} else if (rs.equals("N")) {
Toast.makeText(Login.this, "账户或密码错误", 0).show();
}
else
{Toast.makeText(Login.this, "登录成功", 0).show();
if(jsonObject.optString("f_status").equals("customer"))
{
startActivity(new Intent(Login.this,Index.class));
finish();
}
else//摄影
{
startActivity(new Intent(Login.this,Index2.class));
finish();
} } } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}

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

 

"留拍"-注册/登录详解的更多相关文章

  1. Bmob第三方登录详解

    Bmob第三方登录详解 Bmob 第三方登录 简介 本文主要介绍新浪微博,QQ,微信的登录接入以及如何配合BmobSDK中的第三方登录功能实现第三方登录. 在使用之前请先按照快速入门创建好可以调用Bm ...

  2. 迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解

    本文转自:http://www.topeetboard.com 视频下载地址: 驱动注册:http://pan.baidu.com/s/1i34HcDB 设备注册:http://pan.baidu.c ...

  3. linux ssh使用深度解析(key登录详解)

    linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...

  4. SSH免密登录详解

    SSH免密登录详解 SSH(Security Shell)安全外壳协议,是较为可靠的,专为远程登录会话和其他网络服务提供安全保证的协议. ​ 对于传统的网络服务程序(例如,FTP,Telnet等)来说 ...

  5. 前后端分离,简单JWT登录详解

    前后端分离,简单JWT登录详解 目录 前后端分离,简单JWT登录详解 JWT登录流程 1. 用户认证处理 2. 前端登录 3. 前端请求处理 4. 后端请求处理 5. 前端页面跳转处理 6. 退出登录 ...

  6. MySQL下载、安装和登录详解

    MySQL是一个小型的数据库管理系统,由于其体积小,速度快,尤其是开放源代码等优点,使得其在开发中得到广泛的使用,本文主要介绍MySQL数据库从下载到安装及通过命令行的使用等. 一.下载部分 下载链接 ...

  7. Yii2.0登录详解(下)

    在上一篇博文中,笔者讲述了yii2应用用户登陆的基本方法,但是这些方法到底是怎样实现登陆的呢?底层的原理到底是什么?在这篇博文笔者将从Yii的源码角度分析登陆的基本原理以及cookie自动登陆的原理, ...

  8. 关于NopCommerce3.6版用户登录详解

    一.登录方式 Nop登录方式有两种(且只能选择一种方式登录):一种是用用户名登录,另一种是用户注册邮箱登录,这个在后台可配置: 第一种:用户名登录 后台配置路径在商城设置à设置管理à客户设置:使用用户 ...

  9. (转)Zend Studio 10.6.1破解注册图文详解

    原文来自:http://www.softown.cn/soft/zend-studio/windows/10.6.1#downloads 下面我们以Zend Studio 10.6.1正式版为例来介绍 ...

随机推荐

  1. js实现Mac触摸板双指事件(上/下/左/右/放大/缩小)

    前言 这几天在修复一个web问题时,需要捕获Mac触摸板双指事件(上.下.左.右.放大.缩小),但发现并没有现成的轮子,还是要自己造. 例如:jquery.mousewheel.js(添加跨浏览器的鼠 ...

  2. 类的反射_reflex

    JAVA反射机制 JAVA反射机制是在运行状态中,对于任意一个实体类,都能够知道这个类的所有属性和方法:对于任意一个对象,都能够调用它的任意方法和属性:这种动态获取信息以及动态调用对象方法的功能称为j ...

  3. 查询css相关属性的网站

    mozalla developer netwoke https://developer.mozilla.org/zh-CN/docs/Web/CSS/background 布局,div+css:htt ...

  4. jQuery-iframe加载完成后触发的事件监听

    每天学习一点点 编程PDF电子书.视频教程免费下载:http://www.shitanlife.com/code 最近遇到一个问题,要写一个后台管理系统的layout,里面content是一个ifra ...

  5. reorder-list 单链表

    题意: 给你一个单链表 a1 a2 a3 a4 a5....an 让你变成 a1 an a2 an-1 a3 an-2 .... 这里牵涉到,单链表的倒置和两个单链表的合并. class Soluti ...

  6. MySql常用命令集Mysql常用命令showdatabases;显示数据库createdatab

    MySql 常用命令集 Mysql常用命令 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop ...

  7. YOLO2 (3) 快速训练自己的目标

    1快速训练自己的目标 在 YOLO2 (2) 测试自己的数据 中记录了完整的训练自己数据的过程. 训练时目标只有一类 car. 如果已经执行过第一次训练,改过一次配置文件,之后仍然训练同样的目标还是只 ...

  8. linux计划任务(转)

    文章转自https://blog.csdn.net/jixieyang3701/article/details/79410725 linux 系统则是由 cron (crond) 这个系统服务来控制的 ...

  9. Python将数据渲染到docx文档指定位置

    超简单Python将指定数据插入到docx模板渲染并生成 最近有一个需求,制作劳动合同表,要从excel表格中将每个人的数据导入到docx劳动合同中,重复量很大,因此可以使用python高效解决.为了 ...

  10. Hyper-V 安装系统

    注: 如屏幕前的您没有一定的网络知识(可能会使你的网络造成错乱),请勿按该文档操作. // 注:如果开启了Hyper-V,再使用VMware时在VMware上会报错,需把这里关闭后重启实体机后再开启V ...