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. Hadoop优化 第一篇 : HDFS/MapReduce

    比较惭愧,博客很久(半年)没更新了.最近也自己搭了个博客,wordpress玩的还不是很熟,感兴趣的朋友可以多多交流哈!地址是:http://www.leocook.org/ 另外,我建了个QQ群:3 ...

  2. python五十七课——正则表达式(元字符)

    1).匹配单个字符(数字.英文.其它) 符号位: []:表示一个字符位 [0123456789]:表示一位,取值范围:[0,9]之间的任何一个值 [0-9]:表示一位,取值范围:[0,9]之间的任何一 ...

  3. kafka libjvm 报错

    kafka集群 kafka-0 出现报错信息 # # A fatal error has been detected by the Java Runtime Environment: # # SIGS ...

  4. mysql5.7配置文件优化

    [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/l ...

  5. jvm虚拟机分享课笔记

    深入理解jvm虚拟机分享 1. jvm执行流程 java-编译-.class—类加载器(随时随地加载)--[进入java虚拟机] 执行引擎—本地方法接口---本地方法库 运行时数据区 2. 运行时数据 ...

  6. 使用命令行编译QT helloworld 项目

    0.新建工程项目 在E盘的QTworkspace文件夹下新建一个子文件夹HelloWorld,并在该文件夹中新建一个main.cpp文件,cpp文件中写入以下代码(保存时注意将编码选择为UTF-8): ...

  7. linux中VI编写C程序。。。

    在linux中编写C程序时不像编写shell那样开头要#!/bin/bash,但是在C程序中要指定头文件(头文件是指输入输出,宏等,而且要首先声明,也是必须要开始就声明的) 写好C代码后要给C文件赋予 ...

  8. DeskMini无传统机械键盘与鼠标接口的情况下使用U盘安装系统经验总结

    总结安装纯净版Win7旗舰版系统安装过程所解决的问题要点: 1:UEFI引导启动的实现. 2:使用Dism++实现系统的安装. 3:使用Dism++解决新主板在安装系统过程中不能使用USB键盘和鼠标的 ...

  9. linux环境下nc命令的应用

    一.安装 下载 http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm rpm -iUv nc-1.84-22 ...

  10. [转]Office导入导出组件权限配置汇总

    原文地址:Office导入导出组件权限配置汇总 具体配置方法如下:  1:在服务器上安装office的Excel软件.  2:在"开始"->"运行"中输入 ...