利用bmob实现简单的注册和登录
首先要在bmob官网上下载对应的sdk,分别是,解压后是一些sdk,导入到libs里面就可以了。
需要在bmob上建立应用,得到id,这些文档上都有,多看文档。
话不多说,直接上代码:
package com.example.sssb;import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import cn.bmob.sms.BmobSMS;
import cn.bmob.sms.listener.RequestSMSCodeListener;
import cn.bmob.sms.listener.VerifySMSCodeListener;
import cn.bmob.v3.Bmob;import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;public class MainActivity extends Activity {private EditText mname,mpassword,mnumber,mverify;private Button mgetsms,mgi,mreturn;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);//Bmob.initialize(this,"614b7327837cd173e62ebd23c50ec16b");Bmob.initialize(this, "614b7327837cd173e62ebd23c50ec16b");BmobSMS.initialize(this, "614b7327837cd173e62ebd23c50ec16b");mname=(EditText)findViewById(R.id.name);mpassword=(EditText)findViewById(R.id.password);mnumber=(EditText)findViewById(R.id.callnumber);mverify=(EditText)findViewById(R.id.sms);mgetsms=(Button)findViewById(R.id.getsms);mgi=(Button)findViewById(R.id.send);mreturn=(Button)findViewById(R.id.breturn);}//点击获取验证码public void gsms(View view){String number=mnumber.getText().toString();if(number.length()==0){Toast.makeText(this, "手机号不能为空", Toast.LENGTH_LONG).show();return;}if(number.length()!=11){Toast.makeText(this, "请输入11位有效号码", Toast.LENGTH_LONG).show();return;}BmobSMS.requestSMSCode(this, number, "短信模板", new RequestSMSCodeListener() {@Overridepublic void done(Integer integer, cn.bmob.sms.exception.BmobException e) {// TODO Auto-generated method stubif (e == null) { //发送成功时,让获取验证码按钮不可点击,且为灰色 mgetsms.setClickable(false); //mgetsms.setBackgroundColor(); Toast.makeText(MainActivity.this, "验证码发送成功,请尽快使用", Toast.LENGTH_SHORT).show(); new CountDownTimer(60000, 1000) { @Override public void onTick(long millisUntilFinished) { //Message_btn.setBackgroundResource(R.drawable.button_shape02); mgetsms.setText(millisUntilFinished / 1000 + "秒"); } @Override public void onFinish() { mgetsms.setClickable(true); //Message_btn.setBackgroundResource(R.drawable.button_shape); mgetsms.setText("重新发送"); } }.start(); } else { Toast.makeText(MainActivity.this, "验证码发送失败,请检查网络连接", Toast.LENGTH_SHORT).show(); } }});}//返回到登录页面public void ret(View view){Intent intent1 = new Intent();intent1.setClass(MainActivity.this, SecondActivity.class);MainActivity.this.startActivity(intent1);}//点击注册public void zhuce(View view){String name=mname.getText().toString();String password=mpassword.getText().toString();String number=mnumber.getText().toString();String verify=mverify.getText().toString();if(name.equals("")||password.equals("")){Toast.makeText(this, "帐号或密码不能为空", Toast.LENGTH_LONG).show();return;}if(name.length()<6){Toast.makeText(this, "帐号小于6位", Toast.LENGTH_LONG).show();return;}if(verify.length()==0){Toast.makeText(this, "验证码不能为空", Toast.LENGTH_LONG).show();return;}if(number.length()==0){Toast.makeText(this, "手机号不能为空", Toast.LENGTH_LONG).show();return;}if(number.length()!=11){Toast.makeText(this, "请输入11位有效号码", Toast.LENGTH_LONG).show();return;}BmobSMS.verifySmsCode(this, number, verify, new VerifySMSCodeListener() {@Overridepublic void done(cn.bmob.sms.exception.BmobException e) {// TODO Auto-generated method stubif (e == null) { Toast.makeText(MainActivity.this, "注册成功", Toast.LENGTH_SHORT).show(); //验证码正确 添加用户信息String name=mname.getText().toString();String password=mpassword.getText().toString();user User=new user();User.setName(name);User.setPassword(password);User.save(new SaveListener<String>() {@Overridepublic void done(String arg0, BmobException arg1) {// TODO Auto-generated method stubif(arg1==null){return;}else{return;}}});Intent intent2 = new Intent();intent2.setClass(MainActivity.this, SecondActivity.class);MainActivity.this.startActivity(intent2);} else { Toast.makeText(MainActivity.this, "验证码错误", Toast.LENGTH_SHORT).show(); } }});}}
package com.example.sssb;import java.util.List;import android.app.Activity;
import android.app.AlertDialog;
import android.content.Intent;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;import cn.bmob.sms.BmobSMS;
import cn.bmob.sms.listener.RequestSMSCodeListener;
import cn.bmob.sms.listener.VerifySMSCodeListener;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.BmobQuery;import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.FindListener;
import cn.bmob.v3.listener.QueryListener;
import cn.bmob.v3.listener.SaveListener;public class SecondActivity extends Activity{private EditText mname,mpassword;private Button mlogin,mregi;@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_second);Bmob.initialize(this, "614b7327837cd173e62ebd23c50ec16b");mname=(EditText) findViewById(R.id.sname);mpassword=(EditText) findViewById(R.id.spassword);mlogin=(Button) findViewById(R.id.login);mregi=(Button) findViewById(R.id.regi);}//注册点击public void dregi(View view){Intent intentlogin = new Intent();intentlogin.setClass(SecondActivity.this,MainActivity.class);startActivity(intentlogin);}//登录点击public void dlogin(View view){String name=mname.getText().toString();String password=mpassword.getText().toString();if(name.equals("")||password.equals("")){Toast.makeText(this, "帐号或密码不能为空", Toast.LENGTH_LONG).show();return;}BmobQuery<user> query=new BmobQuery<user>();query.addWhereEqualTo("name", name);query.addWhereEqualTo("password", password);query.findObjects(new FindListener<user>() {@Overridepublic void done(List<user> arg0, BmobException e) {// TODO Auto-generated method stubif(e==null){String gname=arg0.get(0).getName().toString();String gpassword=arg0.get(0).getPassword().toString();String name=mname.getText().toString();String password=mpassword.getText().toString();Toast.makeText(SecondActivity.this, gname, Toast.LENGTH_LONG).show();if(gname.equals(name)&&gpassword.equals(password)){Intent seccess = new Intent();seccess.setClass(SecondActivity.this, ThridActivity.class);startActivity(seccess);}}else{Toast.makeText(SecondActivity.this, "帐号或密码有误", Toast.LENGTH_LONG).show();}}});}}
package com.example.sssb;import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;public class ThridActivity extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {// TODO Auto-generated method stubsuper.onCreate(savedInstanceState);setContentView(R.layout.activity_third);}}
这是用户类,需要继承 BmobObject
package com.example.sssb;import cn.bmob.v3.BmobObject;public class user extends BmobObject{private String name;public String getName() {return name;}public void setName(String name) {this.name = name;}private String password;public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}}
需要注意的是,sdk和adt版本太低的话是用不起bmob的sdk的,需要更新到新版。
完整项目在这里下载:http://download.csdn.net/detail/a262624/9596348
利用bmob实现简单的注册和登录相关推荐
- 利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)
前言:从其他人的留言中我知道Bmob这个云数据库,之前我一直在自己写后台但是发现太慢了要学的东西超级多,脚手架也不知道为什么老是搭不上很蛋疼,然后春节又必须回来老家山区里面有些事情耽搁了后台也凉了,后 ...
- Android基础学习总结(十二)——利用Bmob实现用户账户体系(注册、登录、验证等)
前言 用户是一个应用程序的核心.对于个人开发者来说,自己的应用程序积累到越多的用户,就会给自己带来越强的创作动力.因此Bmob提供了一个专门的用户类--BmobUser来自动处理用户账户管理所需的功能 ...
- Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能
Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...
- C++控制台实现简单的注册登录
C++控制台实现简单的注册登录 #include<iostream>#include<string>#include <vector>#include <co ...
- Android借助bmob实现简单的登陆注册
借助bmob实现简单的登陆注册 实现步骤 1注册bmob 2配置Bomb相关 3扩展自己的用户列表 4实现注册 5实现登陆 欢迎下载 https://github.com/kurumi2501314/ ...
- PHP+Mysql 实现最简单的注册登录
PHP+Mysql 实现最简单的注册登录 一.先将两个服务打开 二.创建数据库 create database test; // 创建一个叫test的数据库 use test; // 进入这个数据库 ...
- 用Python基础创建一个简单的注册登录系统
在学完Python基础后,是不是有一点想法去做一点好玩的程序呢?如果想可以看看这个注册登录系统,会带给你一些思路. 大家都对登录注册系统司空见惯了吧,我们周围的许多东西都需要登录注册系统,例如很受大众 ...
- Bmob 后端云——史上最简单的注册功能
史上最简单的注册 一.前言 既然说是最简单的注册功能,到底简单到哪呢.其实就是省去了web 端,无需自己再写应用后端. bmob 替我们做了这部分,所以我们的工作就相对简单了.如果你还没有配置 ...
- 简单注册、登录、修改密码、忘记密码程序
简单注册.登录.修改密码.忘记密码程序 来自一枚大二通信工程渣渣写的代码 #include<stdio.h> #include<stdlib.h> #include<st ...
最新文章
- 用这种方法实现无监督端到端图像分类!(附论文)
- 洛谷P1613 跑路
- 动态创建DeepZoom
- 嵌入式系统开发方向的面试题总结
- LevelDB 源码剖析(一)准备工作:环境搭建、接口使用、常用优化
- 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析...
- centos7 安装mysql8_CentOS 下 MySQL 8.0 安装部署,超详细!
- python 输入华氏温度f_如何用 python编写华氏摄氏度的相互转换?
- 深度学习笔记_评分函数/损失函数
- GIS应用技巧之空间插值理论介绍
- Python_Number类及容器类基本数据类型
- 线性代数学习笔记——第四十讲——n维向量空间的概念
- charles mac端代理设置方法(含https)
- java方法和数组的概念及法
- 自动化学报- Teleoperation
- linux wn725 wifi,【已解决】Ubuntu / Linux 安装USB无线网卡( tp-link TL-WN725N rtl8188eu )
- 剑指offer_1:给你一根长度为n的绳子,把绳子剪成m段(m、n都是整数且m 1, n 1),m段绳子的长度依然是整数,求m段绳子的长度乘积最大为多少? * 比如绳子长度为8,我们可以分成
- Spring 项目启动错误提示 LoggingApplicationListener
- 百度地图自定义覆盖物工具栏,修改标识图标
- Scanner调用next方法时报错NoSuchElementException原因,及对Scanner的一些总结