第一阶段冲刺——8

将数据库所能用到的表建好,从网上查到了相关登录,注册的代码,通过不断的实验,终于算是能够实现了。

public class register extends AppCompatActivity {
    private Button buttonCode,buttonLoginStudent,buttonLoginTeacher;
    private EditText editTextPhoneNum,editTextCode,editPassword;
    private String phoneNum,code,pass;
    private EventHandler eh;
    private int flag=1;//学生按钮
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        initview();
 
 
        eh = new EventHandler() {
            @Override
            public void afterEvent(int event, int result, Object data) {
                if (result == SMSSDK.RESULT_COMPLETE){
                    //回调完成
                    if (event == SMSSDK.EVENT_SUBMIT_VERIFICATION_CODE) {
                        //提交验证码成功
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                User user=new User();
                                if(flag==1){
                                    user.setType("student");
                                    user.setUsername(phoneNum);
                                    user.setPassword(pass);
                                    user.setMobilePhoneNumberVerified(true);
                                    user.setMobilePhoneNumber(phoneNum);
                                    user.signUp(new SaveListener<User>() {
                                        @Override
                                        public void done(User user, BmobException e) {
                                            if(e==null){
                                                Toast.makeText(register.this, "注册成功", Toast.LENGTH_SHORT).show();
                                                startActivity(new Intent(register.this,splash.class));
                                            }
                                            else {
                                                Toast.makeText(register.this, "注册失败"+e.getMessage(), Toast.LENGTH_LONG).show();
                                            }
                                        }
                                    });
 
                                }
                                else if(flag==0){
                                    user.setType("teacher");
                                    user.setUsername(phoneNum);
                                    user.setPassword(pass);
                                    user.setMobilePhoneNumberVerified(true);
                                    user.setMobilePhoneNumber(phoneNum);
                                    user.signUp(new SaveListener<User>() {
                                        @Override
                                        public void done(User user, BmobException e) {
                                            if(e==null){
 
                                                Toast.makeText(register.this, "注册成功", Toast.LENGTH_SHORT).show();
                                                startActivity(new Intent(register.this,teacherinterface.class));
                                            }
                                            else {
                                                Toast.makeText(register.this, "注册失败"+e.getMessage(), Toast.LENGTH_LONG).show();
                                            }
                                        }
                                    });
 
                                }
 
 
                                Toast.makeText(register.this,"注册成功",Toast.LENGTH_SHORT).show();
                            }
                        });
                    }else if (event == SMSSDK.EVENT_GET_VOICE_VERIFICATION_CODE){
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(register.this,"语音验证发送",Toast.LENGTH_SHORT).show();
                            }
                        });
                    }
                    else if (event == SMSSDK.EVENT_GET_VERIFICATION_CODE){
                        //获取验证码成功
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(register.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(register.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().trim();
                if(!phoneNum.isEmpty()){
 
                    if(Utils.checkTel(phoneNum)){ //利用正则表达式获取检验手机号
                        // 获取验证码
                        if(!pass.isEmpty()){
                            if(Utils.checkPssword(pass)){
                                SMSSDK.getVerificationCode("86", phoneNum);
                            }
                            else {
                                Toast.makeText(register.this, "请输入符合要求的密码", Toast.LENGTH_SHORT).show();
                            }
                        }
                        else {
                            Toast.makeText(register.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();
            }
        });
        buttonLoginStudent.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;
                }
            }
        });
        buttonLoginTeacher.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                code = editTextCode.getText().toString();
                if(!code.isEmpty()){
                    //提交验证码
                    flag=0;//老师按钮
                    SMSSDK.submitVerificationCode("86", phoneNum, code);
                }else{
                    Toast.makeText(getApplicationContext(),"请输入验证码",Toast.LENGTH_LONG).show();
                    return;
                }
            }
        });
    }
 
    private void initview() {
//        private Button buttonCode,buttonLoginStudent,buttonLoginTeacher;
//        private EditText editTextPhoneNum,editTextCode,editPassword;
        buttonCode=findViewById(R.id.register_getVerify);
        buttonLoginStudent=findViewById(R.id.loginButtonsStudent);
        buttonLoginTeacher=findViewById(R.id.loginButtonTeacher);
        editTextPhoneNum=findViewById(R.id.register_phoneNumber);
        editPassword=findViewById(R.id.register_setPassword);
        editTextCode=findViewById(R.id.register_verifyCode);
    }
 
    // 使用完EventHandler需注销,否则可能出现内存泄漏
    @Override
    protected void onDestroy() {
        super.onDestroy();
        SMSSDK.unregisterEventHandler(eh);
    }
}
原文地址:https://www.cnblogs.com/fwk123/p/13090748.html