cc_美团项目user模块之用手机验证码直接登录实现

import android.content.Intent;

import android.os.Bundle;

import android.os.Handler;

import android.support.v7.app.ActionBar;

import android.support.v7.app.ActionBarActivity;

import android.text.TextUtils;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import cn.bmob.v3.BmobUser;

import cn.bmob.v3.exception.BmobException;

import cn.bmob.v3.listener.LogInListener;

import cn.bmob.v3.listener.RequestSMSCodeListener;

import com.chencheng.model.User;

import com.chencheng.utils.LoginStatus;

import com.chencheng.utils.MyToast;

import com.xinbo.utils.SMSCodeBMobUtils;

public class ShoujiDengruActivity extends ActionBarActivity {

private EditText et_number;

private EditText et_code;

private Button yanzhengma_fasong;

private Button btn_find_back_yanzhengbindengl;

private String number;

private String code;

private String mSmsID;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_shouji_dengru);

initActionBar();

initUi();

}

private void initUi() {

et_number=(EditText)findViewById(R.id.mobile);

et_code=(EditText)findViewById(R.id.yanzhengma_val);

yanzhengma_fasong=(Button)findViewById(R.id.yanzhengma_fasong);

yanzhengma_fasong.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

number = et_number.getText().toString();

//1、调用请求验证码接口

SMSCodeBMobUtils.requestSmsCode(ShoujiDengruActivity.this, number, new RequestSMSCodeListener() {

@Override

public void done(Integer smsId,BmobException ex) {

if(!TextUtils.isEmpty(number)){

if(ex==null){//验证码发送成功

// 验证码发送成功

mSmsID = smsId+"";

MyToast.makeText(ShoujiDengruActivity.this,"验证码发送成功,短信id:" + smsId);// 用于查询本次短信发送详情

daojishi(yanzhengma_fasong);

}

else{

MyToast.makeText(ShoujiDengruActivity.this,"验证码发送失败" );

}

}else{

et_number.setError("请输入电话号码");

}

}

});

}

});

btn_find_back_yanzhengbindengl=(Button)findViewById(R.id.btn_find_back_yanzhengbindengl);

btn_find_back_yanzhengbindengl.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

signOrLoginByPhoneNumber();

}

});

}

private void initActionBar() {

ActionBar actionBar = getSupportActionBar();

actionBar.setDisplayHomeAsUpEnabled(true);

actionBar.setBackgroundDrawable(getResources().getDrawable(

R.color.action_white));

actionBar.setTitle("手机快捷登录");

}

@Override

public boolean onSupportNavigateUp() {

finish();

return super.onSupportNavigateUp();

}

private void signOrLoginByPhoneNumber(){

number = et_number.getText().toString();

code = et_code.getText().toString();

if(!TextUtils.isEmpty(number)&&!TextUtils.isEmpty(code)){

//2、使用手机号和短信验证码进行一键注册登录

BmobUser.signOrLoginByMobilePhone(this, number, code, new LogInListener<User>() {

@Override

public void done(User user, BmobException e) {

// TODO Auto-generated method stub

if(user!=null){

MyToast.makeText(ShoujiDengruActivity.this,"登录成功");

Log.i("ShoujiDengru", ""+user.getUsername()+"-"+user.getObjectId()+"-"+user.getPassword());

LoginStatus.getInstance().setHasLogin(true);

Intent intent=new Intent(ShoujiDengruActivity.this,MainActivity.class);

intent.putExtra("flag", "hasLogin");

startActivity(intent);

}else{

MyToast.makeText(ShoujiDengruActivity.this,"错误码:"+e.getErrorCode()+",错误原因:"+e.getLocalizedMessage());

}

}

});

}else{

MyToast.makeText(ShoujiDengruActivity.this,"请输入手机号和验证码");

}

}

private void daojishi(final Button button) {

new Handler().postDelayed(new Runnable() {

int i=60;

@Override

public void run() {

if(i>0)

{

button.setText(i+"秒");

button.setEnabled(false);

i--;

//Log.e("run", i+"");

new Handler().postDelayed(this, 1000);

}

if(i==0)

{

button.setText( "发送验证码");

button.setEnabled(true);

}

}

}, 1000);

}

}

时间: 2024-08-02 11:04:45

cc_美团项目user模块之用手机验证码直接登录实现的相关文章

cc_美团项目之我的账户页面实现

import cn.bmob.v3.BmobUser; import com.chencheng.utils.LoginStatus; import android.content.Intent; import android.os.Bundle; import android.support.v7.app.ActionBar; import android.support.v7.app.ActionBarActivity; import android.util.Log; import and

cc_美团项目之Util使用

Toast工具 public class MyToast { public static void makeText(Context context, CharSequence text){ Toast.makeText(context, text, Toast.LENGTH_SHORT).show(); } } 1.1 Toast工具 final User user = new User(username, password,"138604167"); user.signUp(get

random模块产生随机手机验证码

import random # print(random.random()) #浮点数,0-1,无法指定range# print(random.uniform(1,5)) #浮点数,1-5# print(random.randint(1,100)) #1-99随机# print(random.randrange(1,5)) #1-4随机# print(random.choice('hello')) #取1位# print(random.sample('hello',2)) #随机取2位 # x=

ajax与php小谈(手机验证码)

在项目中碰到一个写手机验证码的问题,所以写出来: 这是前段页面,使用ajax发送了一个json格式的手机号码过去 <script src="jquery-1.11.1.min.js" type="text/javascript"></script>   <script type="text/javascript">   var InterValObj;       //timer变量,控制时间   var co

如何编写package.json配置NodeJS项目的模块声明

在NodeJS项目中,用package.json文件来声明项目中使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行 npm install 命令即可安装所需要的模块. package.json文件中可配置的项有:名称(name).应用描述(description).版本号(version).应用的配置项(config).作者(author).资源仓库地址(repository).授权方式(licenses).目录(directories).应用入口文件(main)

Android studio中为项目添加模块依赖的过程

https://blog.csdn.net/cheng__lu/article/details/74574582 Android studio中为项目添加模块依赖的过程 1.点击菜单file>project structure或者点击工具栏中倒数第三个图标project structure. 2.打开project structure后,在modules中选中一个项目,点击“Dependencies”窗口后,进行点击添加按钮“+”,再点击Module dependency 3.选择”mylibr

maven一项目多模块开发

对于一个项目(桌面项目或者网站)来说,都会大致分为三层:界面层,共给用户观看:业务逻辑层,处理业务逻辑:数据访问层,增删改查数据库. 根据项目的大小,可以将这三层合并再一起开发,也可以将这三层分开开发.对于大项目来说,一般都是分开开发,不仅可以将层次分离,也可以将针对某一层的开发难度安排开发人员.如果实现这个分层开发,请看一下步骤: 备注:使用开发工具为eclipse,服务器为tomcat7 第一步:创建项目,这里以创建网站项目为实例: 选择默认骨架 填写Group Id,Artifact Id

atitit.短信&#160;验证码&#160;&#160;破解&#160;&#160;v3&#160;p34&#160;&#160;识别&#160;绕过&#160;系统方案规划----业务相关方案&#160;手机验证码&#160;&#160;.doc

atitit.短信 验证码  破解  v3 p34  识别 绕过 系统方案规划----业务相关方案 手机验证码  .doc 1. 手机短信验证码 vs 图片验证码 安全性(破解成本)确实要高一些1 1.1. 破解基本原则有两种,一种是绕过验证码.一种是拦截1 2. 手机 短信 验证码的 破解 拦截 方式分类2 2.1. 按照源头破解拦截分为源头拦截,中间拦截,,终端拦截...2 2.2. 按照是否软硬件可分类为 纯软件方案与软硬件结合方案2 3. 具体的方法如下2 3.1. 后台服务器漏洞绕过法

使用“互亿无线”短信验证码接口来实现发送手机验证码功能

今天 突然发神经想到要做一个发送手机验证码的功能,因为看到很多用户注册这个模块都有手机验证这个功能,于是乎,俺就上网查了很多资料,整理了一下,做了一个简单的手机验证码实现功能.不过我用的是试用账号,只可以发送30个短信,如果要更多的话,需要充值,这是我感到很遗憾的事情.下面跟着我来实现这个功能吧,大神勿喷哈. 1.首先,上互亿无线注册一个账号,http://www.ihuyi.com/,注册后你可以看到你的账号参数信息: 2.使用VS创建一个空的Web应用程序: 注册静态页面:index.htm