发表于: 2018-08-12 23:35:32

2 821


貌似代码没有完整上传到github,明天重新上传


一、今天完成的事情

    利用Bmob完成了简单的注册功能(验证码功能还没有写),但是缺少网络连接状态判断,下次补上。

    首先要初始化Bmob SDK,我一开始忘了这一步,导致程序运行错误。

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

   // 初始化 Bmob SDK
   // 第二个参数是Bmob服务器端创建的Application ID

   Bmob.initialize(this, "第二个参数(Application ID)");

...


}


//注册功能
public void register () {
String phoneNumber = phoneNumberET.getText().toString();
   String password =passwordET.getText().toString();

   if (PhoneNumber.verifyPhoneNumber(phoneNumber, RegisterActivity.this)
&& Pssword.verifyPhoneNumber(password, RegisterActivity.this)) {
MyUser mu = new MyUser();
   mu.setUsername(phoneNumber);
   mu.setMobilePhoneNumber(phoneNumber);
   mu.setPassword(password);
   mu.signUp(new SaveListener<MyUser>() {
   @Override
   public void done(MyUser mu, BmobException e) {
      if (e == null) {
         Toast.makeText(RegisterActivity.this,
              R.string.register_success, Toast.LENGTH_SHORT).show();
       } else {
         Toast.makeText(RegisterActivity.this,
              R.string.register_fail, Toast.LENGTH_SHORT).show();
       }
     }
   });
 }
}

    

    写了一个函数用来判断密码格式,其中的正则表达式表示密码由6到16位的字母、数字组成

public class Pssword {

  public static boolean verifyPhoneNumber(String password, Context context) {

   

    String passwordRegex = "[A-Za-z0-9_]{6,16}";
    if (TextUtils.isEmpty(password) || !password.matches(passwordRegex)) {
       AlertDialog.Builder dialog = new AlertDialog.Builder(context);
       dialog.setTitle(R.string.wrong);
       dialog.setMessage(R.string.please_input_password);
       dialog.setCancelable(true);
       dialog.show();
       return false;
      } else return true;
   }
}


二、明天计划的事情

    1.完善注册功能,添加验证码验证,添加网络连接状态判断

    2.完成登录功能

    3.完成记住密码功能

三、遇到的问题

    1.多处用到了Dialog,需要自定义一个Dialog类

    2.有些控件或Toast显示的文本是一样的,可不可以引用同样的string.xml资源?还是分开引用两个内容相同的资源?


四、收获

    学会了Bmob的一些简单用法。


返回列表 返回列表
评论

    分享到