首先要在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