第二阶段冲刺五
这是注册成功的代码。
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.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.BmobUser; import cn.bmob.v3.exception.BmobException; import cn.bmob.v3.listener.SaveListener; import cn.smssdk.EventHandler; import cn.smssdk.SMSSDK; 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); } }