public class LoginActivity extends AppCompatActivity implements
OnClickListener, OnCheckedChangeListener {
private final static String LOG_TAG = LoginActivity.class.getSimpleName();
private Button mLoginButton;
// private Button mForgetPasswordButton;
private CheckBox mCheckBox;
private EditText mUsernameEditText, mPwdEditText;
private LoginDaoImpl mLoginDao;
private SharedPreferences sharedPreferences;
private int Toast_durace_time = 10;
private Editor editor;
private String userName;
private String userPassword;
private ProgressDialog loadingDialog;
private Context context;
OnLoginListener mOnLoginListener = new OnLoginListener() {
@Override
public void onSuccess(String cookies) {
Log.i(LOG_TAG, "token=" + cookies);
loadingDialog.dismiss();
JsonObject jsonObject = new JsonParser().parse(cookies)
.getAsJsonObject();
Boolean status = Boolean.valueOf(jsonObject.get("status")
.toString());
Log.i(LOG_TAG, status + " ");
if (status) {
LoginResult loginResult = GsonTools.changeGsonToBean(cookies,
LoginResult.class);
Log.i(LOG_TAG, loginResult.getStatus());
saveUserInformation(loginResult);
Bundle bundle = new Bundle();
bundle.putString("userName", userName);
bundle.putSerializable(Constants.LOGINRESULT, loginResult);
SharedPreferences preferences = getSharedPreferences ("userName", MODE_PRIVATE);
Editor edit = preferences.edit ();
edit.putString (Constants.USER_NAME, userName);
edit.commit ();
Intent intent = new Intent(LoginActivity.this,
MainActivity.class);
intent.putExtras(bundle);
startActivity(intent);
LoginActivity.this.finish();
} else {
Toast.makeText(context, "错误的用户名或密码", Toast.LENGTH_LONG).show();
}
}
@Override
public void onFailed(String errorMsg) {
Log.i(LOG_TAG, "errorMsg==" + errorMsg);
Toast.makeText(getApplicationContext(), errorMsg,
Toast.LENGTH_SHORT).show();
loadingDialog.dismiss();
}
};
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
context = getApplicationContext();
loadingDialog = new ProgressDialog(this,
ProgressDialog.THEME_DEVICE_DEFAULT_LIGHT);
loadingDialog.setTitle("登录");
loadingDialog.setMessage("正在登录,请稍后...");
loadingDialog.setCancelable(false);
mLoginDao = new LoginDaoImpl();
sharedPreferences = getSharedPreferences(Constants.USER_INFO,
Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
initView();
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
}
private void initView() {
mLoginButton = (Button) findViewById(R.id.btn_Login);
// mForgetPasswordButton = (Button) findViewById(R.id.btn_forgetPassword);
mLoginButton.setOnClickListener(this);
// mForgetPasswordButton.setOnClickListener(this);
mCheckBox = (CheckBox) findViewById(R.id.checkbox);
mCheckBox.setOnCheckedChangeListener(this);
mUsernameEditText = (EditText) findViewById(R.id.etUsername);
mPwdEditText = (EditText) findViewById(R.id.etPassword);
}
public void onResume() {
super.onResume();
mUsernameEditText.setText(sharedPreferences.getString(
Constants.USER_NAME, null));
mPwdEditText.setText(sharedPreferences.getString(
Constants.USER_PASSWORD, null));
mCheckBox.setChecked(sharedPreferences.getBoolean(
Constants.KEEP_PASSWORD, false));
}
@Override
public void onClick(View v) {
int id = v.getId();
switch (id) {
case R.id.btn_Login:
Log.i(LOG_TAG, "login button is ckilcked");
login();
break;
/* case R.id.btn_forgetPassword:
forgetPassword();
break;
*/
default:
break;
}
}
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if (isChecked) {
mCheckBox.setChecked(true);
saveUserNameAndPassword();
} else {
mCheckBox.setChecked(false);
editor.putBoolean(Constants.KEEP_PASSWORD, false);
editor.clear();
editor.commit();
}
}
/**
* user login
*
* @return null
*/
public void login() {
userName = mUsernameEditText.getText().toString().trim();
userPassword = mPwdEditText.getText().toString().trim();
if (mCheckBox.isChecked()) {
saveUserNameAndPassword();
}
if (TextUtils.isEmpty(userName) || TextUtils.isEmpty(userPassword)) {
Toast.makeText(this, "请输入用户名密码", Toast_durace_time).show();
} else {
mLoginDao.login(userName, userPassword, this);
mLoginDao.setOnLoginListener(mOnLoginListener);
loadingDialog.show();
}
}
// /**
// * Help user to get password when they forget password
// *
// * @return null
// */
// public void forgetPassword() {
// Intent intent = new Intent(this, ForgotPasswordActivity.class);
// startActivity(intent);
// }
/**
* Save userName and userPassword
*
* @return void
*/
public void saveUserNameAndPassword() {
editor.putString(Constants.USER_NAME, mUsernameEditText.getText()
.toString());
editor.putString(Constants.USER_PASSWORD, mPwdEditText.getText()
.toString());
editor.putBoolean(Constants.KEEP_PASSWORD, true);
editor.commit();
}
/**
* Save user information when user login successfully
*
* @param loginResult
* @return void
*/
public void saveUserInformation(LoginResult loginResult) {
editor.putInt(Constants.USER_ID, loginResult.getMessage().getId());
editor.putInt(Constants.USER_ROLE_ID, loginResult.getMessage()
.getRoleId());
editor.putString(Constants.USER_TOKEN, loginResult.getMessage()
.getToken());
editor.commit();
}
}
随意
最新推荐文章于 2018-03-01 00:00:00 发布