短信验证

//new倒计时对象,总共的时间,每隔多少秒更新一次时间
myCountDownTimer= new MyCountDownTimer(60000, 1000);

send.setOnClickListener(new View.OnClickListener() {
    @SuppressLint("WrongConstant")
    @Override
    public void onClick(View arg0) {
        System.out.println("点击发送验证码");


        number1= number.getText().toString().trim();

        if(isPhoneNumber(number1)){

            reqVerificationEntityRegister(number1);
            myCountDownTimer.start();

        }else{
            Toast.makeText(RegisterFirstActivity.this, "请输入正确的手机号!", Toast.LENGTH_SHORT).show();
        }
    }
});
class MyCountDownTimer extends CountDownTimer {

    public MyCountDownTimer(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    //计时过程
    @Override
    public void onTick(long l) {
        //防止计时过程中重复点击
        send.setClickable(false);
        send.setText(l / 1000 + "秒重发");

    }

    //计时完毕的方法
    @Override
    public void onFinish() {
        //重新给Button设置文字
        send.setText("重新获取");
        //设置可点击
        send.setClickable(true);
    }
}

int codeFromSrever=2;

private class VerificationEntity {
    int code;
    String msg;

    @Override
    public String toString() {
        return "VerificationEntity{" +
                "code=" + code +
                ", msg='" + msg + '\'' +
                '}';
    }
}

private VerificationEntity onRepVerificationEntity(JSONObject json)
        throws JSONException {

    logger.d("registerFirst#onRepVerificationEntity");

    if (json == null) {
        logger.e("registerFirst#json is null");
        return null;
    }

    logger.d("registerFirst#onRepVerificationEntity json:%s", json);

    int code = json.getInt("code");
    if (code != 0) {
        logger.e("registerFirst#code is not right:%d, json:%s", code, json);
       // return null;
    }



    VerificationEntity addrsEntity = new VerificationEntity();
    addrsEntity.code = code;
    logger.d("registerFirst#got VerificationEntity:%s", addrsEntity);
    return addrsEntity;
}

public void getCodeFromServer(VerificationEntity verificationEntity){
    codeFromSrever= verificationEntity.code;
}
/**
 * 发送验证码
 */
public void reqVerificationEntityRegister(String number) {

    logger.d("socket#VerificationEntity.");
    getVerificationClient.setUserAgent("Android-TT");
    String url=SystemConfigSp.instance().getStrConfig(SystemConfigSp.SysCfgDimension.LOGINSERVER).substring(0,SystemConfigSp.instance().getStrConfig(SystemConfigSp.SysCfgDimension.LOGINSERVER).length()-11);
   System.out.println(url);
    getVerificationClient.get(url+"/sendsms/"+number+"", new BaseJsonHttpResponseHandler(){
        @Override
        public void onSuccess(int i, Header[] headers, String s, Object o) {
            logger.d("socket#req VerificationEntity onSuccess, response:%s", s);
            VerificationEntity msgServer = (VerificationEntity) o;
            System.out.println(msgServer);
            if(msgServer == null){

                return ;
            }
            getCodeFromServer(msgServer);

        }

        @Override
        public void onFailure(int i, Header[] headers, Throwable throwable, String responseString, Object o) {
            logger.d("socket#req VerificationEntity Failure, errorResponse:%s", responseString);

        }

        @Override
        protected Object parseResponse(String s, boolean b) throws Throwable {
            /*子类需要提供实现,将请求结果解析成需要的类型 异常怎么处理*/
            JSONObject jsonObject = new JSONObject(s);
            VerificationEntity msgVerificationEntity = onRepVerificationEntity(jsonObject);
            return msgVerificationEntity;
        }
    });
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值