首先要在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实现简单的注册和登录相关推荐

  1. 利用Bmob快速实现安卓的简单登陆注册功能Bmobsdk3.6.9版本亲测可用(详细图文攻略附带处理小bug)

    前言:从其他人的留言中我知道Bmob这个云数据库,之前我一直在自己写后台但是发现太慢了要学的东西超级多,脚手架也不知道为什么老是搭不上很蛋疼,然后春节又必须回来老家山区里面有些事情耽搁了后台也凉了,后 ...

  2. Android基础学习总结(十二)——利用Bmob实现用户账户体系(注册、登录、验证等)

    前言 用户是一个应用程序的核心.对于个人开发者来说,自己的应用程序积累到越多的用户,就会给自己带来越强的创作动力.因此Bmob提供了一个专门的用户类--BmobUser来自动处理用户账户管理所需的功能 ...

  3. Android高效率编码-第三方SDK详解系列(二)——Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能

    Android高效率编码-第三方SDK详解系列(二)--Bmob后端云开发,实现登录注册,更改资料,修改密码,邮箱验证,上传,下载,推送消息,缩略图加载等功能 我的本意是第二篇写Mob的shareSD ...

  4. C++控制台实现简单的注册登录

    C++控制台实现简单的注册登录 #include<iostream>#include<string>#include <vector>#include <co ...

  5. Android借助bmob实现简单的登陆注册

    借助bmob实现简单的登陆注册 实现步骤 1注册bmob 2配置Bomb相关 3扩展自己的用户列表 4实现注册 5实现登陆 欢迎下载 https://github.com/kurumi2501314/ ...

  6. PHP+Mysql 实现最简单的注册登录

    PHP+Mysql 实现最简单的注册登录 一.先将两个服务打开 二.创建数据库 create database test; // 创建一个叫test的数据库 use test; // 进入这个数据库 ...

  7. 用Python基础创建一个简单的注册登录系统

    在学完Python基础后,是不是有一点想法去做一点好玩的程序呢?如果想可以看看这个注册登录系统,会带给你一些思路. 大家都对登录注册系统司空见惯了吧,我们周围的许多东西都需要登录注册系统,例如很受大众 ...

  8. Bmob 后端云——史上最简单的注册功能

    史上最简单的注册 一.前言     既然说是最简单的注册功能,到底简单到哪呢.其实就是省去了web 端,无需自己再写应用后端. bmob 替我们做了这部分,所以我们的工作就相对简单了.如果你还没有配置 ...

  9. 简单注册、登录、修改密码、忘记密码程序

    简单注册.登录.修改密码.忘记密码程序 来自一枚大二通信工程渣渣写的代码 #include<stdio.h> #include<stdlib.h> #include<st ...

最新文章

  1. 用这种方法实现无监督端到端图像分类!(附论文)
  2. 洛谷P1613 跑路
  3. 动态创建DeepZoom
  4. 嵌入式系统开发方向的面试题总结
  5. LevelDB 源码剖析(一)准备工作:环境搭建、接口使用、常用优化
  6. 线程间操作无效: 从不是创建控件“Control Name'”的线程访问它问题的解决方案及原理分析...
  7. centos7 安装mysql8_CentOS 下 MySQL 8.0 安装部署,超详细!
  8. python 输入华氏温度f_如何用 python编写华氏摄氏度的相互转换?
  9. 深度学习笔记_评分函数/损失函数
  10. GIS应用技巧之空间插值理论介绍
  11. Python_Number类及容器类基本数据类型
  12. 线性代数学习笔记——第四十讲——n维向量空间的概念
  13. charles mac端代理设置方法(含https)
  14. java方法和数组的概念及法
  15. 自动化学报- Teleoperation
  16. linux wn725 wifi,【已解决】Ubuntu / Linux 安装USB无线网卡( tp-link TL-WN725N rtl8188eu )
  17. 剑指offer_1:给你一根长度为n的绳子,把绳子剪成m段(m、n都是整数且m 1, n 1),m段绳子的长度依然是整数,求m段绳子的长度乘积最大为多少?  * 比如绳子长度为8,我们可以分成
  18. Spring 项目启动错误提示 LoggingApplicationListener
  19. 百度地图自定义覆盖物工具栏,修改标识图标
  20. Scanner调用next方法时报错NoSuchElementException原因,及对Scanner的一些总结

热门文章

  1. 递推最小二乘估计Matlab仿真
  2. js清除YY虎牙订阅的直播
  3. autojs-获取api接口JSON值
  4. 2022.3.9号 达摩院前端一面
  5. 职业生涯规划(系统运维工程师)
  6. centos6.5 设置静态ip 更改新的ip 仍显示旧ip
  7. UVA-12627 Erratic Expansion
  8. mysql实现悲观锁_mysql悲观锁怎么实现?
  9. 实验一 R语言的基本操作和数据组织
  10. 排序算法-5-鸡尾酒排序