Bmobsdk3.6.9版本亲测可用
0.2版本新增:
新增注册判断:
1.判断正则是否是手机号进行注册
2.判断是否为空
3.密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线
下载地址:https://download.csdn.net/download/qq_16519957/10998408
我在原先的基础之上对原来的功能进行一些新增如果没看过上一篇的话可以点击看一下。
利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)
如果没有正则基础的话先看一下以下两篇文章和菜鸟教程学习一下:
最全的常用正则表达式大全
下面这篇尤其重要:
JAVA正则表达式:Pattern类与Matcher类详解
Java 正则表达式
手机号我百度随便搜的
这里仅显示成功登陆其他的东西由于时间关系就不一一演示。
首先我们需要完成我们新增的第一个功能就是判断正则是否是手机号进行注册
我们只需要判断是不是手机登陆即可也就是判断是不是手机号码
那么我们就需要增加下面的代码
手机号的开头也会随着时间不断地增加到时候自己修改即可
private boolean isPhoneNumber(String phoneStr)
{
//定义电话格式的正则表达式
String regex = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
//设定查看模式
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
//判断Str是否匹配,返回匹配结果
Matcher m = p.matcher(phoneStr);
return m.matches();
}
第二个我们需要增加的就是判断密码
同样我们需要使用到正则去判断密码然后在输出就可以。
private boolean PasswordJudge(String pwStr)
{
//密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线
String pattern = "^[a-zA-Z]\\w{5,17}$";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(pwStr);
return m.find();
}
第三个判断是否输入框是否为空
这个主要功能就是为了判断输入框内有没有具体的内容
使用if判断即可
if(mobile.isEmpty() || password.isEmpty())
{
Toast.makeText(RegisterActivity.this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
}
然后我们来看一下完整的代码
package com.beta.bmobtest;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobUser;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;
/**
* Created by Kevein on 2019/3/1.8:03
*/
public class RegisterActivity extends Activity {
private TextView register_user;
private TextView register_password;
private Button register_ok;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.register_layout);
addControl();//加载控件
addRegisterShow();//注册方法
Bmob.initialize(this, "你自己的appid");
}
private void addRegisterShow() {
register_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String mobile = register_user.getText().toString().trim();
String password = register_password.getText().toString().trim();
//判断是否输入是否是电话号码
boolean phone = isPhoneNumber(mobile);
//判断密码
boolean pwd = PasswordJudge(password);
if(mobile.isEmpty() || password.isEmpty())
{
Toast.makeText(RegisterActivity.this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
}
else if(!phone)
{
Toast.makeText(RegisterActivity.this,"请输入正确的手机号码",Toast.LENGTH_SHORT).show();
}
else if(!pwd)
{
Toast.makeText(RegisterActivity.this,"密码在以字母开头6-18位之前只能包含字母数字和下划线",Toast.LENGTH_SHORT).show();
}
else{
Bmoblogin();
}
}
});
}
private boolean isPhoneNumber(String phoneStr)
{
//定义电话格式的正则表达式
String regex = "^((13[0-9])|(14[5,7])|(15[0-3,5-9])|(17[0,3,5-8])|(18[0-9])|166|198|199|(147))\\d{8}$";
//设定查看模式
Pattern p = Pattern.compile(regex, Pattern.CASE_INSENSITIVE);
//判断Str是否匹配,返回匹配结果
Matcher m = p.matcher(phoneStr);
return m.matches();
}
private boolean PasswordJudge(String pwStr)
{
//密码判断以字母开头,长度在6~18之间,只能包含字母、数字和下划线
String pattern = "^[a-zA-Z]\\w{5,17}$";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(pwStr);
return m.find();
}
private void addControl() {
register_user = (TextView) findViewById(R.id.id_register_username);
register_password = (TextView) findViewById(R.id.id_register_userpassword);
register_ok = (Button) findViewById(R.id.id_register_ok);
}
private void Bmoblogin()//Bmo注册写入方法
{
final BmobUser p2 = new BmobUser();
p2.setUsername(register_user.getText().toString());
p2.setPassword(register_password.getText().toString());
p2.signUp(new SaveListener<BmobUser>() {
@Override
public void done(BmobUser bmobUser, BmobException e) {
if (e == null) {
//判断是否注册成功成功则跳转到登陆的页面
Intent intent_register = new Intent(RegisterActivity.this,MainActivity.class);
startActivity(intent_register);
Toast.makeText(RegisterActivity.this, "添加数据成功,返回objectId为:" + p2.getObjectId(), Toast.LENGTH_SHORT).show();
} else {
Toast.makeText(RegisterActivity.this, "用户名或者密码不能为空", Toast.LENGTH_SHORT).show();
}
}
});
}
}
然后自己再根据需求改动即可
源码地址:https://github.com/307572384/bmobtest
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/134142.html