android短信验证码方案,Android开发之属于你的短信验证码(一)
不飞则已,一飞冲天;不鸣则已,一鸣惊人———司马迁
最近工作又有新需求,要求用户在注册的时候需要通过手机验证码,这样做的目的是防止用户通过一个邮箱来随便的注册,那么好,今天我们就 一起来学习一下Android中的短信验证码这一个知识点。如有谬误,欢迎批评指正,如有疑问欢迎留言,谢谢
在说这个知识点前,我们首先来了解下聚合数据
一、聚合数据介绍
聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务。免费提供从天气查询、空气质量、地图坐标到金融基金、电商比价、违章查询等各个领域的安全、稳定和高效的数据。开发者可以免费试用聚合数据API进行移动APP的快速开发,免除数据收集、维护等环节,大大降低开发周期及成本。因此我们可以采用聚合数据给我提供好的一套东西来进行短信验证码的功能的添加。
首先我们要做准备工作,使用聚合数据主要分为以下步骤:
第一步,进入聚合数据官网(http://www.juhe.cn/)注册一个账号
完成注册后进入,”个人中心”——>点击申请数据如下图所示
在上图输入你的手机号,然后你会收到验证码,在验证码处输入你收到的验证码点击申请
第二步,申请后你会看到一个Appkey,如果已经申请了可以按如下步骤查看你申请的Appkey
1.进入个人中心,点击我的数据,如下图所示
2.我们点击查看按钮就会看到我们申请的Appkey如下图所以,此Appkey非常重要
以上两步已经完成了Appkey的申请接着我们进行第三步,下载短信验证码的SDK
第三步下载短信验证码SDK
1.进入首页点击数据接口如下图所示
2.在左侧分类中找到SDK中心如下图所示
3.点击短信验证码SDK会进入到如下图所示的界面
到这里我们已经把SDK给下载好了,下面我们就该进入第四步,创建工程配置环境了
第四步,创建工程,配置环境
1.创建一个工程把我们下载的SDK里libs下的“armeabi文件”和”smscaptcha_v_1_4.jar”复制到我们工程的libs目录下
2.在AndroidManifest中添加开发密钥、所需权限等信息
(1)在application中添加开发密钥
android:name=”JUHE_KEY”
android:value=”开发者 key” />
(2)添加所需权限
(3)
在应用程序创建时初始化SDK引用的Context全局变量
在这一步我们有两种方法
第一种在Activity中配置
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//在使用SDK各组件之前初始化context信息,传入ApplicationContext
//注意该方法要再setContentView方法之前实现
/**
* 初始化方法
* @param context
* @needFriends 是否需要好友功能
*/
CommonFun.initialize(getApplicationContext(),true);
setContentView(R.layout.activity_main);
}
}
下面这个注意是聚合数据文档给我们的建议,它建议我们把这个初始化工作放在Application中,因为程序运行首先会运行Application中的方法
注意:在SDK各功能组件使用之前都需要调用CommonFun.initialize(getApplicationContext(),true);,因此我们建议该方法放在Application的初始化方法中
所以我们就按它建议的方法,而不采用第一种方法这样我们需要创建一个Applicaiton类MyApplication如下
package com.example.android.sms;
import com.thinkland.sdk.util.CommonFun;
import android.app.Application;
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
CommonFun.initialize(getApplicationContext(), false);
}
}
声明好Application后不要忘了在清单文件中配置
好了环境已经配置好了,我们来验证一下看看我们是否能收到短信
MainActivity的代码如下
package com.example.android.sms;
import com.thinkland.sdk.sms.SMSCaptcha;
import com.thinkland.sdk.util.BaseData;
import com.thinkland.sdk.util.CommonFun;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.widget.Toast;
public class MainActivity extends Activity {
protected static final String TAG =”MainActivity”;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//初始化 SMSCaptcha对象在这个对象中有给我们发送短信验证码的方法
SMSCaptcha smsCaptcha=SMSCaptcha.getInstance();
//调用发送短信验证码的方法,在其中有一个回调
/**
phone手机号码
callBack返回结果回调方法.
*/
smsCaptcha.sendCaptcha(“此处输入你的手机号”,new BaseData.ResultCallBack() {
@Override
public void onResult(int code, String reason, String result) {
/*
code:返回码:
服务器: 0 成功; 1 错误;
本地: -2 本地网络异常; -3 服务器网络异常;-4 解析错误;-5初始化异常
reason:返回信息 成功或错误原因.
result:返回结果,JSON格式.错误或者无返回值时为空.*/
if(code==0){
Log.i(TAG,”code=”+code);
Log.i(TAG,”reason=”+reason);
Log.i(TAG,”result=”+result);
}
}
});
}
}
返回结果如下:
并且手机接收到了短信,好了,这一篇就到这里了,这一篇主要是环境的搭建,下一篇就和大家一起讨论界面UI的实现,并验证输入的验证码是否是正确的验证码。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/160005.html原文链接:https://javaforall.cn
相关文章
- Android 图形架构
- 代码加密 android,Android 开发怎样做代码加密或混淆「建议收藏」
- android 空间分享到朋友圈,Android开发之微信分享到好友,朋友圈
- Android开发之startActivityForResult过时的替代方案
- android在eclipse环境下开发需要什么支持_eclipse环境配置教程
- 【Android 应用开发】 Ubuntu 安装 Android Studio (旧版本|仅作参考)
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 使用反射获取方法创建本应用的 dexElements | 各版本创建 dex 数组源码对比 )
- 【Android 逆向】代码调试器开发 ( 等待进程状态改变 | detach 脱离进程调试 PTRACE_DETACH | 调试中继续运行程序 PTRACE_CONT )
- 【Android NDK 开发】CMake 中查找链接 Android 自带动态库位置说明 ( ndk-bundleplatformsandroid-29arch-armusrlib )
- Android的系统架构详解手机开发
- Android开发中遇到的问题(三)——eclipse创建android项目无法正常预览布局文件详解手机开发
- Android开发中遇到的问题(二)——新建android工程的时候eclipse没有生成MainActivity和layout布局详解手机开发
- [android] 采用服务录制电话&服务的生命周期详解手机开发
- 关于Android的UI测试详解手机开发
- android读取sd卡图片并进行缩放操作详解手机开发
- android移动view详解手机开发
- 介绍几个好用的android自定义控件详解手机开发
- android Universal Image Loader for Android 说明文档 (1)详解手机开发
- 全世界都在薅Android的羊毛 Google为何坐视不管?
- Android 开发必备知识:我和 Gradle 有个约会
- Android数据类型之间相互转换系统介绍
- android内存优化之图片优化
- 深入Android开发FAQ的详解
- 在android开发中进行数据存储与访问的多种方式介绍