bmob实现短信验证功能
2016-07-27 21:48
519 查看
短信验证看起来还是蛮有逼格的,而且针对于用户安全对有一定的保证,比如说每次登陆都是通过短信验证来进行登陆。
所以说学习短信验证还是挺重要的。不要用mob服务平台,很难用很难用,超级大坑,尽管看起来逼格比较高,但是二次开发并不方便,他给封装好了,然后我们如果想自定义界面特别麻烦,而且官方给的demo逻辑感觉也比较混乱,千万不要进坑。
相比较而言,还是这个bmob的短信服务比较容易,进入正题。
简要流程
申请bmob账号→新建应用→程序配置→代码编写
详细步骤
1)申请账号www.bmob.cn
登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。
选择你要开发的应用,点击该应用下方对应的“应用密钥”
在跳转页面,获取Application ID,此ID将会在初始化SDK中使用到。
2用androidstudio建立自己的工程
3配置(这个地方的最后一步可以仅仅导入我们所需要的sms包)
请按照如下两个步骤进行:
在
buildscript {
}
allprojects {
}
在
apply plugin: 'com.android.application'
android {
}
来源: http://docs.bmob.cn/data/Android/a_faststart/doc/index.html
4)代码编写
bmob初始化
ok,具体的验证界面的格式自定义即可。
参考 http://blog.csdn.net/qiang_xi/article/details/47686311
所以说学习短信验证还是挺重要的。不要用mob服务平台,很难用很难用,超级大坑,尽管看起来逼格比较高,但是二次开发并不方便,他给封装好了,然后我们如果想自定义界面特别麻烦,而且官方给的demo逻辑感觉也比较混乱,千万不要进坑。
相比较而言,还是这个bmob的短信服务比较容易,进入正题。
简要流程
申请bmob账号→新建应用→程序配置→代码编写
详细步骤
1)申请账号www.bmob.cn
登录账号进入bmob后台后,点击后台界面左上角“创建应用”,在弹出框输入你应用的名称,然后确认,你就拥有了一个等待开发的应用。
获取应用密钥和下载SDK
选择你要开发的应用,点击该应用下方对应的“应用密钥”在跳转页面,获取Application ID,此ID将会在初始化SDK中使用到。
2用androidstudio建立自己的工程
3配置(这个地方的最后一步可以仅仅导入我们所需要的sms包)
请按照如下两个步骤进行:
在
Project的
build.gradle文件中添加
Bmob的maven仓库地址,示例如下:(注意文字说明部分):
buildscript {
repositories { jcenter()} dependencies { classpath 'com.android.tools.build:gradle:1.2.3'}
}
allprojects {
repositories { jcenter()//Bmob的maven仓库地址--必填 maven { url "https://raw.github.com/bmob/bmob-android-sdk/master" }}
}
在
app的
build.gradle文件中添加
compile依赖文件,示例如下:(注意文字说明部分):
apply plugin: 'com.android.application'
android {
compileSdkVersion 22 buildToolsVersion '22.0.1'**兼容Android6.0系统所需,如果这句话报错,可在dependencies标签下使用compile 'cn.bmob.android:http-legacy:1.0'** useLibrary 'org.apache.http.legacy'...
}
dependencies { compile fileTree(dir: 'libs', include: ['*.jar'])//以下SDK开发者请根据需要自行选择//bmob-sdk:Bmob的android sdk包,包含了Bmob的数据存储、文件等服务,以下是最新的bmob-sdk://3.5.0:请务必查看下面注释[1] compile 'cn.bmob.android:bmob-sdk:3.5.0'//bmob-push:Bmob的推送包 compile 'cn.bmob.android:bmob-push:0.8'//bmob-im:Bmob的即时通讯包,注意每个版本的im依赖特定版本的bmob-sdk,具体的依赖关系可查看下面注释[2] compile 'cn.bmob.android:bmob-im:2.0.5@aar' compile 'cn.bmob.android:bmob-sdk:3.4.7-aar'//bmob-sms :Bmob单独为短信服务提供的包 compile 'cn.bmob.android:bmob-sms:1.0.1'//如果你想应用能够兼容Android6.0,请添加此依赖(org.apache.http.legacy.jar) compile 'cn.bmob.android:http-legacy:1.0'}
来源: http://docs.bmob.cn/data/Android/a_faststart/doc/index.html
4)代码编写
bmob初始化
//bmob初始化
BmobSMS.initialize(MainActivity.this,"62f79064bc2e4d00c92b961e3045a835");
//接收验证码到手机
BmobSMS.requestSMSCode(mContext, phoneNum, "短信模板", new RequestSMSCodeListener() {
@Override
public void done(Integer integer, BmobException e) {
if(e==null){
new CountDownTimer(60000,1000){
@Override
public void onTick(long millisUntilFinished) {
btn_get.setText(millisUntilFinished / 1000 + "秒");
}
@Override
public void onFinish() {
btn_get.setClickable(true);
btn_get.setText("重新发送");
}
}.start();
Toast.makeText(mContext,"验证码发送成功,请尽快验证",Toast.LENGTH_SHORT).show();
}else{
Log.e(TAG+"btn_get",e.toString());
Toast.makeText(mContext,"验证码发送失败",Toast.LENGTH_SHORT).show();
}
}
});
//发送验证码给后台验证
BmobSMS.verifySmsCode(mContext, phoneNum, checkNum, new VerifySMSCodeListener() {
@Override
public void done(BmobException e) {
if(e==null){
Toast.makeText(mContext,"验证成功",Toast.LENGTH_LONG).show();
}else{
Log.e(TAG+"btn_send",e.toString());
Toast.makeText(mContext,"验证失败",Toast.LENGTH_LONG).show();
}
}
});
ok,具体的验证界面的格式自定义即可。
参考 http://blog.csdn.net/qiang_xi/article/details/47686311
相关文章推荐
- 使用C++实现JNI接口需要注意的事项
- Android IPC进程间通讯机制
- Android Manifest 用法
- [转载]Activity中ConfigChanges属性的用法
- Android之获取手机上的图片和视频缩略图thumbnails
- Android之使用Http协议实现文件上传功能
- Android学习笔记(二九):嵌入浏览器
- android string.xml文件中的整型和string型代替
- i-jetty环境搭配与编译
- android之定时器AlarmManager
- android wifi 无线调试
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android 代码实现控件之间的间距
- android FragmentPagerAdapter的“标准”配置
- Android"解决"onTouch和onClick的冲突问题
- android:installLocation简析
- android searchView的关闭事件
- SourceProvider.getJniDirectories