package cn.daixiaodong.myapp.activity; import android.support.v7.widget.Toolbar; import android.view.MenuItem; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import android.widget.Toast; import com.avos.avoscloud.AVException; import com.avos.avoscloud.AVUser; import com.avos.avoscloud.LogInCallback; import org.androidannotations.annotations.AfterViews; import org.androidannotations.annotations.Click; import org.androidannotations.annotations.EActivity; import org.androidannotations.annotations.ViewById; import cn.daixiaodong.myapp.R; import cn.daixiaodong.myapp.activity.common.BaseActivity; import cn.daixiaodong.myapp.utils.NetworkUtil; /** * 登录界面 */ @EActivity(R.layout.activity_sign_in) public class SignInActivity extends BaseActivity { public final static int SIGN_IN_REQUEST_CODE = 1111; public final static int SIGN_IN_SUCCESS_RESULT_CODE = 1112; public final static int SIGN_IN_CANCEL_RESULT_CODE = 1113; @ViewById(R.id.id_tb_toolbar) Toolbar mViewToolbar; @ViewById(R.id.id_et_phone_number) EditText mViewPhoneNumber; @ViewById(R.id.id_et_password) EditText mViewPassword; @ViewById(R.id.id_btn_sign_in) Button mViewSignIn; @ViewById(R.id.id_btn_sign_up_now) Button mViewSignUp; @ViewById(R.id.id_tv_forgot_password) TextView mViewForgotPassword; @Click(R.id.id_btn_sign_up_now) void signUp() { SignUpFirstStepActivity_.intent(this).start(); } @AfterViews void init() { initToolbar(); } @Click(R.id.id_btn_sign_in) void signIn() { String phoneNumber = mViewPhoneNumber.getText().toString(); String password = mViewPassword.getText().toString(); if (!checkData(phoneNumber, password)) { return; } if (!NetworkUtil.isNetworkConnected(this)) { showToast("请检查网络是否连接"); return; } signInByPhoneNumber(phoneNumber, password); } @Click(R.id.id_tv_forgot_password) void forgotPassword() { PasswordResetActivity_.intent(this).start(); } /** * 通过手机号码登录 * * @param phoneNumber 手机号 * @param password 密码 */ private void signInByPhoneNumber(String phoneNumber, String password) { AVUser.loginByMobilePhoneNumberInBackground(phoneNumber, password, new LogInCallback<AVUser>() { @Override public void done(AVUser avUser, AVException e) { if (e == null) { showToast("登录成功"); SignInActivity.this.setResult(SIGN_IN_SUCCESS_RESULT_CODE, getIntent()); finish(); } else { e.printStackTrace(); } } }); } /** * 校验用户输入 * * @param phoneNumber 手机号 * @param password 密码 */ private boolean checkData(String phoneNumber, String password) { if (phoneNumber.isEmpty()) { showToast("请输入手机号码"); return false; } if (phoneNumber.length() != 11) { showToast("请输入正确的手机号码"); return false; } if (password.isEmpty()) { Toast.makeText(this, "请输入密码", Toast.LENGTH_SHORT).show(); return false; } return true; } /** * 设置Toolbar,设置标题,设置Drawer导航 */ private void initToolbar() { setSupportActionBar(mViewToolbar); mViewToolbar.setTitle("登录"); if(getSupportActionBar() != null){ getSupportActionBar().setDisplayHomeAsUpEnabled(true); } } @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()){ case android.R.id.home: SignInActivity.this.setResult(SIGN_IN_CANCEL_RESULT_CODE, getIntent()); finish(); break; } return super.onOptionsItemSelected(item); } }