androidstudio导入项目工程库及短信验证实现(SMSSDK)

简介: androidstudio导入项目工程库及短信验证实现(SMSSDK) (这只是本人意见,如有不对还请各位小伙伴多多指教 。本人邮箱: 893239524@qq.com)

一.对应用实现短信验证及手机注册

   mob.com 、 https://www.juhe.cn/juhesdk(聚合数据SDK)、BMOB后端云 等官网可看其相关文档学习。

  (本人这里是用mob.com官网的类库实现)


  1.首先在Mob.com官网注册账号,开通需要的服务创建自己的app,

这样就可以得到相应的appkey和app Secret 这在后面的实现代码中的是需要的。


   2.下载相应SDK文件如下:

1b297edc4bee9dc781da624067ccb2d3d9846249

(这是短信验证码对应的SDK,下载完解压)


    3.1在实现的代码是需要调用下载的库中的工具类就需要对下载的文件进行关联:

     (注意:当编译器版本小于2.1时的类库导入方法如下:)

    (1)在自己的项目中app上右键选择 Ppen Module Settings 

cf872664962235f507f2c95450bf299b703c4b28

  选择加号添加刚刚下载的 ShortMessageSDKGUI

 (这里进行关联的方法很多,本人使用eclipse的SDK在androidsrudio中关联在此比较方便)


87056305d1783f09973f28422906e170d41f3c78


  (2).接下来只需要进行关联一下两文件就好了

(上一步实现完成这一步好像会自动实现,点击进入查看便知)

3e2f97c288cbfabed05bd044917f5fbe1fa8dfc5

即在菜单栏中对添加的library进行一下操作:

8b9a7a0ecc8093aebf82f6112edd26bf121bee22

也可以分别右键选择 Ppen Module Settings 进行设置:

右边添加符号对Dependence进行添加

f7741923f82d8f9679ce8a447ac3f93ef3738753



73cdecc6dc6712e806908b58b70ac9802470d835



69a4cd215c1be2da161872f9318e06a576c6db04


  (3)实现到这里就可以对库中的SMSSDK等类及方法进行调用了。


   3.2当编译器(androidstudio)版本大于或等于2.1时的类库导入方法 :


     (1)在app目录新建一个libs的包,将下载的SMSSDK中的 .jar文件和 .aar文件拷贝到libs包中;

     (2)在app下的build.gradle文件下加入下面部分代码:


repositories{
flatDir{
dirs 'libs' //就是你放aar的目录地址
}

}


dependencies{

....

 

compile name:'SMSSDK-2.1.1',ext:'aar'

compile name:'SMSSDKGUI-2.1.1',ext:'aar'

//2.1.1为你下载的 .arr 文件对应的版本号,我这里是2.1.1,此处一定不//带有尖括号如: 

//compile name:'SMSSDKGUI-<2.1.1>',ext:'aar' 是错的

}

(此时就完成了项目库的导入,实现的目的与3.1相同)


   4.实现短信通知还需要在清单文件中设置权限已经一个activity信息:

    (1)添加权限

<!--网络权限-->
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.RECEIVE_SMS"/>
<uses-permission android:name="android.permission.GET_TASKS"/>


  (2)直接添加一个activity信息在application中

<!--添加一个activity信息-->
<activity android:name="com.mob.tools.MobUIShell"
android:configChanges="keyboardHidden|orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:windowSoftInputMode="stateHidden|adjustResize"
/>


  (3)回到oncreat()方法中


protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


//1.初始化sdk APPKEY:是在mob.com官网上注册的appkey
SMSSDK.initSDK(this,APPKEY,APPSECRETE);//也是所注册的APPSECRETE
//2.到清单文件中配置信息 (添加网络相关权限以及一个activity信息)

//对activity_main中的Button实例化

mBtnBindPhone= (Button) findViewById(R.id.btn_bind_phone);

//设置点击事件
mBtnBindPhone .setOnClickListener( new View.OnClickListener() {
@Override public void onClick (View view) {//重写 onClick 方法

            //注册手机号
            RegisterPage registerPage=new RegisterPage();

//注册回调事件
registerPage.setRegisterCallback(new EventHandler(){


//事件完成后

@Override

public void afterEvent ( int event , int result , Object data) {
//判断结果是否已经完成 if (result==SMSSDK. RESULT_COMPLETE ){ //解析完成 //获取数据data

HashMap<String,Object>maps= (HashMap<String, Object>) data;//数据强转


//国家 String country= (String) maps.get( "country" ) ;
//手机号码 String phone= (String) maps.get( "phone" ) ;
submitUserInfo(country , phone) ; //调用提交数据方法
} }
})
;
//显示注册界用下载的inde.xml文档中的show()方法 registerPage.show(MainActivity. this ) ; }
})
;
}



  (4)在Oncreat()方法外新建方法:

//新建提交方法 提交用户信息到服务器在监听中返回结果
public void submitUserInfo(String country,String phone){
Random r=new Random();//获得一个随机数
String uid=Math.abs(r.nextInt())+"";
String nickName="MyApp";
SMSSDK.submitUserInfo(uid,nickName,null,country,phone);
}

本案例详情请参考官方文档: ApiDoc/index.html)---在下载的SMSSDK文件中







目录
相关文章
|
11天前
|
消息中间件 网络协议 Java
Android 开发中实现数据传递:广播和Handler
Android 开发中实现数据传递:广播和Handler
14 1
|
13天前
|
Linux 编译器 Android开发
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
在Linux环境下,本文指导如何交叉编译x265的so库以适应Android。首先,需安装cmake和下载android-ndk-r21e。接着,下载x265源码,修改crosscompile.cmake的编译器设置。配置x265源码,使用指定的NDK路径,并在配置界面修改相关选项。随后,修改编译规则,编译并安装x265,调整pc描述文件并更新PKG_CONFIG_PATH。最后,修改FFmpeg配置脚本启用x265支持,编译安装FFmpeg,将生成的so文件导入Android工程,调整gradle配置以确保顺利运行。
37 1
FFmpeg开发笔记(九)Linux交叉编译Android的x265库
|
14天前
|
Unix Linux Shell
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
在Linux环境下交叉编译Android所需的FFmpeg so库,首先下载`android-ndk-r21e`,然后解压。接着,上传FFmpeg及相关库(如x264、freetype、lame)源码,修改相关sh文件,将`SYSTEM=windows-x86_64`改为`SYSTEM=linux-x86_64`并删除回车符。对x264的configure文件进行修改,然后编译x264。同样编译其他第三方库。设置环境变量`PKG_CONFIG_PATH`,最后在FFmpeg源码目录执行配置、编译和安装命令,生成的so文件复制到App工程指定目录。
43 9
FFmpeg开发笔记(八)Linux交叉编译Android的FFmpeg库
|
4天前
|
前端开发 Android开发 iOS开发
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
【4月更文挑战第30天】Flutter 框架实现跨平台移动应用,通过一致的 UI 渲染(Skia 引擎)、热重载功能和响应式框架提高开发效率和用户体验。然而,Android 和 iOS 的系统差异、渲染机制及编译过程影响性能。性能对比显示,iOS 可能因硬件优化提供更流畅体验,而 Android 更具灵活性和广泛硬件支持。开发者可采用代码、资源优化和特定平台优化策略,利用性能分析工具提升应用性能。
【Flutter前端技术开发专栏】Flutter在Android与iOS上的性能对比
|
5天前
|
监控 Java Android开发
安卓应用开发:打造高效用户界面的五大策略
【4月更文挑战第29天】 在安卓应用开发的世界中,构建一个既美观又高效的用户界面(UI)对于吸引和保留用户至关重要。本文将深入探讨五种策略,这些策略可以帮助开发者优化安卓应用的UI性能。我们将从布局优化讲起,逐步过渡到绘制优化、内存管理、异步处理以及最终的用户交互细节调整。通过这些实践技巧,你将能够为用户提供流畅而直观的体验,确保你的应用在竞争激烈的市场中脱颖而出。
|
1天前
|
存储 安全 Android开发
安卓应用开发:构建一个高效的用户登录系统
【5月更文挑战第3天】在移动应用开发中,用户登录系统的设计与实现是至关重要的一环。对于安卓平台而言,一个高效、安全且用户体验友好的登录系统能够显著提升应用的用户留存率和市场竞争力。本文将探讨在安卓平台上实现用户登录系统的最佳实践,包括对最新身份验证技术的应用、安全性考量以及性能优化策略。