首先,需要一个电话号码,目前很多账户都是将账户名设置成手机号,然后点击按钮获取手机验证码。
其次,你需要后台给你手机短信的验证接口,各个公司用的不一样,这个身为前端,不需要你来考虑,你只要让你后台给你写好接口,你直接调用就好了。
<强> activity_login.xml 强>
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android " android: layout_width=" match_parent " android: layout_height=" match_parent " 面向android:=按怪薄北? LinearLayout & lt; android: layout_width=" match_parent " android: layout_height=" 60 dp " android: layout_marginTop=" 20 dp” android: layout_marginLeft=" 10 dp” android: layout_marginRight=" 10 dp” android:重力="中心" 面向android:="水平"比; EditText & lt; android: id=癅 + id/mobile_login” android: layout_width=" match_parent " android: layout_height=" 40 dp " android: layout_marginLeft=" 10 dp” android:提示="请输入您的手机号” android: textSize=" 16 sp " android:背景=" @null " android: inputType="数量"/比; & lt;/LinearLayout> LinearLayout & lt; android: layout_width=" match_parent " android: layout_height=" 50 dp” android: layout_marginLeft=" 10 dp” android: layout_marginRight=" 10 dp” android: layout_marginTop=" 15 dp " android:重力="中心" 面向android:="水平"比; EditText & lt; android: id=癅 + id/yanzhengma” android: layout_width=" 0 dp” android: layout_height=" 40 dp " android: layout_weight=" 4 " android:背景=" @null " android: layout_marginLeft=" 10 dp” android:提示="请输入验证码” android: textSize=" 16 sp " android: inputType="数量"/比; & lt;按钮 android: id=癅 + id/getyanzhengma1” android: layout_width=" 0 dp” android: layout_height=" wrap_content " android: layout_weight=" 1.9 " android: textSize=" 13 sp” android:重力="中心" android:文本="获取验证码” android: layout_gravity="中心"/比; & lt;/LinearLayout> & lt;按钮 android: id=癅 + id/login_btn” android: layout_width=" match_parent " android: layout_height=" 40 dp " android: layout_marginTop=" 20 dp” android: layout_marginLeft=" 20 dp” android: layout_marginRight=" 20 dp” android:文本="登录” android: textSize=" 16 sp "/比; & lt;/LinearLayout>
<强> LoginActivity.java 强>
公共类LoginActivity扩展活动实现视图。OnClickListener { 私人int countSeconds=60;//倒计时秒数 私人EditText mobile_login yanzhengma; 私人按钮getyanzhengma1 login_btn; 私人上下文mContext; 私人字符串usersuccess; 私人处理程序mCountHandler=new处理程序(){ @Override 公共空间handleMessage(消息味精){ super.handleMessage(味精); 如果(countSeconds比;0){ ——countSeconds; getyanzhengma1。setText (“(”+ countSeconds +”)后获取验证码”); mCountHandler。sendEmptyMessageDelayed (0, 1000); 其他}{ countSeconds=60; getyanzhengma1.setText(“请重新获取验证码”); } } }; 私人字符串userinfomsg; @Override 保护空白不能重复发送验证码”,Toast.LENGTH_SHORT),告诉(); } 打破; 案例R.id.login_btn: 登录(); 打破; 默认值: 打破; } }//获取信息进行登录 公共空间登录(){ .trim .toString字符串移动=mobile_login.getText () () (); .trim .toString字符串verifyCode=yanzhengma.getText () () (); RequestParams params=new RequestParams(“这里换成你的请求登录的接口”); x.http ()。帖子(params,新的Callback.ProgressCallback() { @Override 公共voidsuccess”); 字符串数据=https://www.yisu.com/zixun/jsonObject.optString(“数据”); 字符串味精=jsonObject.optString(“味精”); 如果“true”.equals(成功)){ Log.e(“标签”,“登陆的数据=" https://www.yisu.com/zixun/+数据); JSONObject json=new JSONObject(数据); 令牌=json.optString(“令牌”); 用户id=json.optString(“标识”);//我这里按照我的要求写的,你们也可以适当改动//获取用户信息的状态 getUserInfo (); 其他}{ Toast.makeText (LoginActivity。味精,Toast.LENGTH_SHORT),告诉(); } }捕捉(JSONException e) { e.printStackTrace (); } } @Override 公共空间提示”).setMessage(“手机号码不能为空”).setCancelable(真正的),告诉(); }else if (isMobileNO(移动)==false) { 新AlertDialog.Builder (mContext) .setTitle(“提示”).setMessage(“请输入正确的手机号码”).setCancelable(真正的),告诉(); 其他}{ 日志。e(“标签”、“输入了正确的手机号”); requestVerifyCode(移动); } }//获取验证码信息,进行验证码请求 私人空间requestVerifyCode(字符串移动){ RequestParams RequestParams=new RequestParams(“这里是你请求的验证码接口,让后台给你,参数什么的加在后面”); x.http ()。帖子(requestParams新Callback.ProgressCallback Android开发中通过手机号+短信验证码登录的实例代码