android短信验证码方案,Android开发之属于你的短信验证码(一)

android短信验证码方案,Android开发之属于你的短信验证码(一)不飞则已,一飞冲天;不鸣则已,一鸣惊人———司马迁最近工作又有新需求,要求用户在注册的时候需要通过手机验证码,这样做的目的是防止用户通过一个邮箱来随便的注册,那么好,今天我们就一起来学习一下Android中的短信验证码这一个知识点。如有谬误,欢迎批评指正,如有疑问欢迎留言,谢谢在说这个知识点前,我们首先来了解下聚合数据一、聚合数据介绍聚合数据是一家国内最大的基础数据API提供商,专业…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

不飞则已,一飞冲天;不鸣则已,一鸣惊人———司马迁

最近工作又有新需求,要求用户在注册的时候需要通过手机验证码,这样做的目的是防止用户通过一个邮箱来随便的注册,那么好,今天我们就 一起来学习一下Android中的短信验证码这一个知识点。如有谬误,欢迎批评指正,如有疑问欢迎留言,谢谢

在说这个知识点前,我们首先来了解下聚合数据

一、聚合数据介绍

聚合数据是一家国内最大的基础数据API提供商,专业从事互联网数据服务。免费提供从天气查询、空气质量、地图坐标到金融基金、电商比价、违章查询等各个领域的安全、稳定和高效的数据。开发者可以免费试用聚合数据API进行移动APP的快速开发,免除数据收集、维护等环节,大大降低开发周期及成本。因此我们可以采用聚合数据给我提供好的一套东西来进行短信验证码的功能的添加。

首先我们要做准备工作,使用聚合数据主要分为以下步骤:

第一步,进入聚合数据官网(http://www.juhe.cn/)注册一个账号

完成注册后进入,”个人中心”——>点击申请数据如下图所示

d1979d2b241c7b4f5e48d08dfd2ccf22.png

在上图输入你的手机号,然后你会收到验证码,在验证码处输入你收到的验证码点击申请

第二步,申请后你会看到一个Appkey,如果已经申请了可以按如下步骤查看你申请的Appkey

1.进入个人中心,点击我的数据,如下图所示

e4e2ac28e9cc85412058d6f6b8c6f22b.png

2.我们点击查看按钮就会看到我们申请的Appkey如下图所以,此Appkey非常重要

fa85b3ce37193aa60d27ff14cdfb93ae.png

以上两步已经完成了Appkey的申请接着我们进行第三步,下载短信验证码的SDK

第三步下载短信验证码SDK

1.进入首页点击数据接口如下图所示

7e3080ed129c7ce1539effadf2ebea80.png

2.在左侧分类中找到SDK中心如下图所示

a817c915c1680e90a5eddba9035dd04e.png

3.点击短信验证码SDK会进入到如下图所示的界面

439ee995e18d5274753b2ddb10c1bd98.png

到这里我们已经把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后不要忘了在清单文件中配置

85c34729f1a5dd19d1db06b38b6c4a88.png

好了环境已经配置好了,我们来验证一下看看我们是否能收到短信

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);

}

}

});

}

}

返回结果如下:

c9940d64c9309384983d05de190f7053.png

并且手机接收到了短信,好了,这一篇就到这里了,这一篇主要是环境的搭建,下一篇就和大家一起讨论界面UI的实现,并验证输入的验证码是否是正确的验证码。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/160005.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月25日 下午7:36
下一篇 2022年7月25日 下午7:36


相关推荐

  • 首发「快思考、慢思考统一模型」,全国产深度推理大模型讯飞星火 X1 升级突破

    首发「快思考、慢思考统一模型」,全国产深度推理大模型讯飞星火 X1 升级突破

    2026年3月14日
    1
  • pycharm每次运行需选择interpreter_pycharm no interpreter怎么办

    pycharm每次运行需选择interpreter_pycharm no interpreter怎么办新的py文件,点击直接使用pycharm打开,运行报错,interpreteroption为空第一步:选择File,进入Settings。第二步:1.选择Project中的ProjectInterpreter。2.选择下拉中的pathon解释器,如图为3.6的解释权。3.选择Apply,使设置生效。运行代码成功。…

    2022年8月29日
    5
  • 共勉:作为一名程序员你应该怎么提一个高质量的问题?

    做一个积极的人编码、改bug、提升自己我有一个乐园,面向编程,春暖花开!又是一个周五,今天依旧不分享技术,这几天不知道怎么,感觉有点累,昨天十点就睡觉了,很久没有这么早睡觉了。现在已经是晚上10点了,我还在码字中,今天争取早点睡觉。今天整理一点关于如何提问的内容,因为最近一段时间有一些技术朋友加我好友,一起探讨一些技术问题。但是一些伙伴加我之后,提问的姿势可能有点不太正确,导致聊了很一会…

    2022年2月28日
    49
  • 2019年2月10日训练日记

    2019年2月10日训练日记这是过完年第一天的训练,事情都忙完了,可以专心训练了,这个阶段开始训练关于stl容器的相关知识,然后做的题目都是英文题,完全看不懂,只能一点点的查单词翻译。做的很难受,而且很多知识都没有接触过,只能一点一点百度,看网课学习,所以一下午只a了一道题,不过收获还是蛮大的,以后英语一定要好好学,不然题意都看不懂,看不懂题怎么做题呢,然后就是要把stl的各类容器个好好练习,熟练掌握,做第一道题,我没有用s…

    2022年6月17日
    31
  • 在pycharm中,解决安装pip的问题,以及解决安装“pip install requests”出现的相关问题

    在pycharm中,解决安装pip的问题,以及解决安装“pip install requests”出现的相关问题最近搞了这个 pip 好久 然后都不懂是什么意思 停停又弄弄 今天 突然看到了一些大佬的博客 才终于知道了自己存在的问题 哭晕在厕所了 由于今天做的时候忘记截图了 就去找了一张图片 类似这样子的 它说 pip 不是内部或者外部的命令 也不是可运行的程序或者批处理文件 那我们该怎么办呢 那答案肯定就是把它变成自己人啊 就把它变成内部的命令就可以了 但是 怎么把它变成自己人呢 那肯定就要把 pip 添加进入 系统变量 了 然后就成了系统的一份子了 既然是系统中的一份子了 那不就是自己人了么

    2026年3月27日
    2
  • J2EE开发模式

    J2EE开发模式1 Model1 模式 nbsp 2 Model2 模式 Model2x 模式 3 MVC 模式 Model1 的基础是 JSP 文件 它由一些相互独立的 JSP 文件和其它一些 JavaCLass 不是必须的 组成 这些 JSP 从 HTTPRequest 中获得所需要的数据 处理业务逻辑 然后将结果通过 Response 返回前台浏览器 model1 模式可以分为两类 1 model1 纯 JSP 技术 不带任何 J

    2026年3月18日
    2

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号