zoukankan      html  css  js  c++  java
  • 第二阶段冲刺8

    这是修改的界面,有几个验证的功能:语音验证、验证码,用来修改个人信息。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    package com.example.shazidouhuiapp.activity;
     
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.CountDownTimer;
    import android.text.TextUtils;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
    import androidx.appcompat.app.AppCompatActivity;
     
    import com.example.shazidouhuiapp.Bean.User;
    import com.example.shazidouhuiapp.R;
    import com.example.shazidouhuiapp.Util.Utils;
     
    import org.json.JSONException;
    import org.json.JSONObject;
     
    import cn.bmob.v3.BmobQuery;
    import cn.bmob.v3.BmobUser;
    import cn.bmob.v3.exception.BmobException;
    import cn.bmob.v3.listener.SaveListener;
    import cn.bmob.v3.listener.UpdateListener;
    import cn.smssdk.EventHandler;
    import cn.smssdk.SMSSDK;
     
    public class resetPassword extends AppCompatActivity {
        private Button buttonCode,buttonLogin;
        private EditText editTextPhoneNum,editTextCode,editPassword;
        private String phoneNum,code,pass,oldpass;
        private EventHandler eh;
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_passwordreset);
            initview();
     
            eh = new EventHandler() {
                @Override
                public void afterEvent(int eventint result, Object data) {
                    if (result == SMSSDK.RESULT_COMPLETE){
                        //回调完成
                        if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                            //提交验证码成功
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    pass=editPassword.getText().toString().trim();;
                                    phoneNum=editTextPhoneNum.getText().toString().trim();
                                    BmobUser user=new BmobUser();
                                    user.setUsername(phoneNum);
                                    user.setPassword(pass);
                                    user.update(new UpdateListener() {
                                        @Override
                                        public void done(BmobException e) {
                                            if(e==null){
                                                Toast.makeText(resetPassword.this"修改成功", Toast.LENGTH_SHORT).show();
                                                startActivity(new Intent(resetPassword.this,splash.class));
     
                                            }
                                            else{
                                                Toast.makeText(resetPassword.this"修改失败"+e.getMessage(), Toast.LENGTH_LONG).show();
                                            }
                                        }
                                    });
                                }
                            });
                        }else if (event == SMSSDK.EVENT_GET_VOICE_VERIFICATION_CODE){
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    Toast.makeText(resetPassword.this,"语音验证发送",Toast.LENGTH_SHORT).show();
                                }
                            });
                        }
                        else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
                            //获取验证码成功
                            runOnUiThread(new Runnable() {
                                @Override
                                public void run() {
                                    Toast.makeText(resetPassword.this,"验证码已发送",Toast.LENGTH_SHORT).show();
                                }
                            });
                        }else if (event == SMSSDK.EVENT_GET_SUPPORTED_COUNTRIES){
                            Log.i("test","test");
                        }
                    }else{
                        ((Throwable)data).printStackTrace();
                        Throwable throwable = (Throwable) data;
                        throwable.printStackTrace();
                        Log.i("1234",throwable.toString());
                        try {
                            JSONObject obj = new JSONObject(throwable.getMessage());
                            final String des = obj.optString("detail");
                            if (!TextUtils.isEmpty(des)){
                                runOnUiThread(new Runnable() {
                                    @Override
                                    public void run() {
                                        Toast.makeText(resetPassword.this,des,Toast.LENGTH_SHORT).show();
                                    }
                                });
                            }
                        catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }
            };
     
            //注册一个事件回调监听,用于处理SMSSDK接口请求的结果
            SMSSDK.registerEventHandler(eh);
            buttonCode.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    phoneNum = editTextPhoneNum.getText().toString();
                    pass=editPassword.getText().toString();
                    if(!phoneNum.isEmpty()){
                        if(Utils.checkTel(phoneNum)){ //利用正则表达式获取检验手机号
                            // 获取验证码
                            if(!pass.isEmpty()){
     
                                    if(Utils.checkPssword(pass)){
     
                                        SMSSDK.getVerificationCode("86", phoneNum);
                                    }
                                    else {
                                        Toast.makeText(resetPassword.this"请输入符合要求的密码", Toast.LENGTH_SHORT).show();
                                    }
                            }
                            else {
                                Toast.makeText(resetPassword.this"请输入密码", Toast.LENGTH_SHORT).show();
                            }
     
                        }else{
                            Toast.makeText(getApplicationContext(),"请输入有效的手机号",Toast.LENGTH_LONG).show();
                        }
                    }else {
                        Toast.makeText(getApplicationContext(),"请输入手机号",Toast.LENGTH_LONG).show();
                        return;
                    }
                    phoneNum = editTextPhoneNum.getText().toString();
     
                }
            });
            buttonLogin.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    code = editTextCode.getText().toString();
     
                    if(!code.isEmpty()){
                        //提交验证码
                        SMSSDK.submitVerificationCode("86", phoneNum, code);
                    }else{
                        Toast.makeText(getApplicationContext(),"请输入验证码",Toast.LENGTH_LONG).show();
                        return;
                    }
                }
            });
        }
     
        private void initview() {
    //        private Button buttonCode,buttonLogin;
    //        private EditText editTextPhoneNum,editTextCode,editPassword;
            buttonCode=findViewById(R.id.reset_getVerify);
            buttonLogin=findViewById(R.id.resetButton);
            editPassword=findViewById(R.id.newPassword);
            editTextCode=findViewById(R.id.reset_verifyCode);
            editTextPhoneNum=findViewById(R.id.reset_phoneNumber);
     
        }
     
        // 使用完EventHandler需注销,否则可能出现内存泄漏
        @Override
        protected void onDestroy() {
            super.onDestroy();
            SMSSDK.unregisterEventHandler(eh);
        }
    }
  • 相关阅读:
    PHP 求多个数组的笛卡尔积,适用于求商品规格组合 【递归思想, 类似广度优先搜索】【原创】
    CCF推荐期刊会议
    SCI分区
    值和指针接收者的区别
    程序员练级攻略
    保险
    golang 有缓冲channel和无缓冲channel
    后台学习路线
    golang之反射
    atomic和mutex
  • 原文地址:https://www.cnblogs.com/wwbzuiku/p/13090404.html
Copyright © 2011-2022 走看看