将数据库所能用到的表建好,从网上查到了相关登录,注册的代码,通过不断的实验,终于算是能够实现了。
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);
}
}