Android学习之完整的注册登录Demo(APP端+服务器端)

因比赛或者项目需要,写了几个小打小闹的APP。有的处于“单机”状态,有的处于“半联网”状态,觉得学习有点操之过急,所以先缓一缓,梳理一下之前所学的知识,将之前做的一些小玩意儿,整理出来写成博客。第一篇便是大部分APP都具有的注册登录系统。

代码传送门

一、问题描述

完成简单的注册与登录功能。

二、需求分析

在APP端有注册与登录两个显示界面:点击注册,将用户填写的信息存储到数据库当中;点击登录,查询服务器数据库,匹配则登录,进入一个新页面显示登录信息,不匹配则显示登录失败。

三、结构设计

  1. Android 用于与用户交互,信息的输入与显示。
  2. 阿里云服务器,Tomcat Web应用服务器 使用原生Servlet完成APP与服务器的交互。
  3. MySql数据库 用于数据的存储与匹配。
  4. 示意图
    结构设计示意图

四、数据库设计

数据库设计

五、实体类设计(User.java)

public class User {

    private String nickname;//用户昵称
    private String phoneNum;//手机号码
    private String password;//用户密码

    public String getNickname() {
        return nickname;
    }
    public void setNickname(String nickname) {
        this.nickname = nickname;
    }
    public String getPhoneNum() {
        return phoneNum;
    }
    public void setPhoneNum(String phoneNum) {
        this.phoneNum = phoneNum;
    }
    public String getPassword() {
        return password;
    }
    public void setPassword(String password) {
        this.password = password;
    }

}

六、APP 界面设计

  1. 示意图
    APP界面示意图
  2. 效果图
    A. 登录界面
    登录界面
    B. 注册界面
    注册界面
    C. 成功登录后显示信息的界面
    在这里插入图片描述

七、服务器端Servlet功能

  1. 获取登录信息,匹配数据库,返回登录结果
    LoginServlet——DBOperation.getUser()
  2. 获取注册信息,将新用户的数据写入数据库当中
    RegisterServlet——DBOperation.insertIntoUser()

八、数据交互

  1. 格式:Json格式
  2. 使用gson解析,Okhttp3传输数据
  3. 点击登录或注册按钮时,访问相应Servlet,APP 端处理响应数据并使用TextView或者Toast进行显示。

九、小结

至此,一个简易版的APP登录与注册系统的设计与开发便完成了。还有许多可以改善的地方,不过作为一个十分简易的系统Demo,应该勉强可以看看,给刚入门的小伙伴学习使用。

  1. 数据库的操作,使用的是DBUtils框架,简单易上手,对新手友好。
  2. APP端的model类,使用单例模式。原本是打算登录后仅为一个用户,无法修改,但是出现了账户密码输入错误,但是实例已经产生,第二次输入正确却无法产生新的实例而造成登录失败的尴尬情况,后来在单例的get方法中添加是否成功登录的标志字段flag辅助判断,解决bug。
  3. Web 端的Servlet中忘记添加以下代码,造成中文乱码问题。
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");

十、源代码

献上GitHub地址

评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值