直接上代码,才是重要的
/**
* 登录界面
*/
public class LoginActivity extends BaseActivity {
public static String TAG = “LoginActivity”;
@Bind(R.id.et_username)
EditText etUsername;
@Bind(R.id.et_password)
EditText etPassword;
@Bind(R.id.remembercheckbox)
CheckBox remembercheckbox;
@Bind(R.id.bt_login)
Button btLogin;
private SharedPreferences sp;
private Intent intent;
private OkHttpHelper helper = OkHttpHelper.getInstance();
private Gson gson = new GsonBuilder().serializeNulls().create();
// private UserService userService;
// private AccontService accontService;
private long exitTime = 0;
@Override
public int getLayoutId() {
return R.layout.activity_login;
}
@Override
public void initView(Bundle savedInstanceState) {
ButterKnife.bind(this);
}
@Override
public void initData() {
sp = getSharedPreferences("userInfo", Context.MODE_PRIVATE);
remembercheckbox = (CheckBox) findViewById(R.id.remembercheckbox);
if (sp.getBoolean("ISCHECK", false)) {
//设置默认是记录密码状态
remembercheckbox.setChecked(true);
etUsername.setText(sp.getString("username", ""));
etPassword.setText(sp.getString("password", ""));
}
remembercheckbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
sp.edit().putBoolean("ISCHECK", true).commit();
} else {
sp.edit().putBoolean("ISCHECK", false).commit();
}
}
});
}
@OnClick({R.id.remembercheckbox, R.id.bt_login})
public void onViewClicked(View view) {
switch (view.getId()) {
case R.id.bt_login:
if (etUsername.getText().toString().trim().equals("")) {
Toast.makeText(LoginActivity.this, R.string.account_or_password_is_null, Toast.LENGTH_SHORT).show();
} else if (etPassword.getText().toString().trim().equals("")) {
Toast.makeText(LoginActivity.this, R.string.account_or_password_is_, Toast.LENGTH_SHORT).show();
} else {
login();
}
break;
}
}
private void login() {
//登录请求
String uri = Constant.URL + Constant.LOGIN;
Map<String, String> map = new HashMap<>();
Log.e(TAG, "login: " + uri);
final String loginid;
final String password;
try {
loginid = URLEncoder.encode(etUsername.getText().toString().trim(), "utf-8");
password = URLEncoder.encode(etPassword.getText().toString().trim(), "utf-8");
map.put("loginid", loginid);
map.put("password", password);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
helper.post(uri, map, new BaseCallback<UserBean>() {
@Override
public void onSuccess(Response response, UserBean userBean) throws JSONException, IOException {
if (userBean.isSuccess() != false) {
intent = new Intent(LoginActivity.this, HomeActivity.class);
startActivity(intent);
} else {
Toast.makeText(LoginActivity.this, R.string.account_or_password_error, Toast.LENGTH_SHORT).show();
}
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// dismissDialog();
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getAction() == KeyEvent.ACTION_DOWN) {
if ((System.currentTimeMillis() - exitTime) > 2000) {
Toast.makeText(getApplicationContext(), “再按一次退出”, Toast.LENGTH_LONG).show();
exitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
return true;
}
return super.onKeyDown(keyCode, event);
}
}
布局界面: