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

  1. 云栖社区>
  2. 博客>
  3. 正文

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

aaronlin 2016-09-18 19:39:43 浏览3513
展开阅读全文

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

   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文件中







网友评论

登录后评论
0/500
评论
aaronlin
+ 关注