利用bmob实现简单的注册和登录

14 篇文章 0 订阅

首先要在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;
	@Override
	protected 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() {
			
			@Override
			public void done(Integer integer, cn.bmob.sms.exception.BmobException e) {
				// TODO Auto-generated method stub
				 if (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() {
			
			@Override
			public void done(cn.bmob.sms.exception.BmobException e) {
				// TODO Auto-generated method stub
				if (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>() {

            			@Override
            			public void done(String arg0, BmobException arg1) {
            				// TODO Auto-generated method stub
            				if(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;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.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>() {
			
			@Override
			public void done(List<user> arg0, BmobException e) {
				// TODO Auto-generated method stub
				if(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{
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.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


  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值