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);
        }
    }
  • 相关阅读:
    atitit.基于http json api 接口设计 最佳实践 总结o7
    atitit.表单验证 的dsl 本质跟 easyui ligerui比较
    Atitit. 提升软件开发效率and 开发质量---java 实现dsl 4gl 的本质and 精髓 O725
    atitit.设计模式(2) -----查表模式/ command 总结
    atitit.spring3 mvc url配置最佳实践
    atitit.java给属性赋值方法总结and BeanUtils 1.6.1 .copyProperty的bug
    atitit.RESTful服务的概览and框架选型
    atitit.查看预编译sql问号 本质and原理and查看原生sql语句
    atitit.atitit.hb many2one relate hibernate 多对一关联配置..
    atitit.hbnt orm db 新新增更新最佳实践o7
  • 原文地址:https://www.cnblogs.com/wwbzuiku/p/13090404.html
Copyright © 2011-2022 走看看