public class LoginActivity extends BaseActivity {
@BindView(R.id.login_phone)
EditText loginPhone;
@BindView(R.id.login_pwd)
EditText loginPwd;
@BindView(R.id.login_jz)
CheckBox loginJz;
@BindView(R.id.login_zc)
TextView loginZc;
@BindView(R.id.login_dz)
Button loginDz;
private SharedPreferences sp;
private String phones;
private String pwd;
@Override
protected void initData() {
sp = getSharedPreferences("dbx", MODE_PRIVATE);
//記住密碼 sp不能共用一個
boolean falg = sp.getBoolean("flag", false);
if (falg){
String phone = sp.getString("loginPhone", "");
String pwd = sp.getString("loginPwd", "");
loginPhone.setText(phone);
loginPwd.setText(pwd);
loginJz.setChecked(falg);
//保存成功後自動登錄
// Intent intent = new Intent(LoginActivity.this, MainActivity.class);
// startActivity(intent);
}else {
loginJz.setChecked(false);
}
}
@Override
protected void initView() {
ButterKnife.bind(this);
}
@Override
public int getLayoutId() {
return R.layout.activity_login;
}
@OnClick({R.id.login_zc, R.id.login_dz})
public void onClick(View view) {
switch (view.getId()) {
//註冊
case R.id.login_zc:
//跳轉到註冊頁面
Intent intent = new Intent(LoginActivity.this, RegisActivity.class);
startActivity(intent);
break;
case R.id.login_dz:
doLogins();
break;
}
}
@SuppressLint({"ApplySharedPref", "CommitPrefEdits"})
private void doLogins() {
//獲取賬號與密碼
phones = loginPhone.getText().toString().trim();
pwd = loginPwd.getText().toString().trim();
//判斷手機號與密碼是否正確
if (TextUtils.isEmpty(phones)){
toast("請輸入您的手機號");
return;
}
if (TextUtils.isEmpty(pwd)){
toast("請輸入密碼");
return;
}
//記住密碼
boolean checked = loginJz.isChecked();
if (checked) {//保存
sp.edit().putString("loginPhone", phones)
.putString("loginPwd", pwd).commit();
sp.edit().putBoolean("flag",true).commit();
} else {//清空
sp.edit().clear();
sp.edit().putBoolean("flag",false).commit();
}
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("phone",loginPhone.getText().toString());
hashMap.put("pwd",loginPwd.getText().toString());
sp.edit().putString("pwd", pwd).commit();
getPresenter().post(1,"/small/user/v1/login",null,hashMap);
}
//失敗
@Override
public void success(int type, String data) {
super.success(type, data);
Log.d("sss",data);
LoginBean loginBean = new Gson().fromJson(data, LoginBean.class);
//判斷登錄失敗成功
if (loginBean.getMessage().equals("登錄成功")){
toast("成功");
//獲取uesrid和sersionid
LoginBean.ResultBean result = loginBean.getResult();
int userId = result.getUserId();
String sessionId = result.getSessionId();
Log.d("userid", "success: "+userId);
Log.d("userid", "susserid: "+sessionId+"lll");
SharedPreferences.Editor edit = sp.edit();
edit.putInt("userId",userId).commit();
edit.putString("sessionId",sessionId).commit();
edit.putString("name",result.getNickName());
edit.putString("pic",result.getHeadPic());
edit.commit();
startActivity(new Intent(LoginActivity.this, MainActivity.class));
}else {
toast("登錄失敗");
}
}
@Override
public void fail(int type, String error) {
super.fail(type, error);
}
}
public class DataActivity extends BaseActivity {
@BindView(R.id.img_data_toux)
SimpleDraweeView imgDataToux;
@BindView(R.id.tv_data_name)
TextView tvDataName;
@BindView(R.id.tv_data_pwd)
TextView tvDataPwd;
private SharedPreferences sp;
private String pwd;
private String name;
private String pic;
@Override
protected void initView() {
sp = getSharedPreferences("dbx", MODE_PRIVATE);
pwd = sp.getString("pwd", "");
name = sp.getString("name", "");
pic = sp.getString("pic","");
ButterKnife.bind(this);
}
@Override
protected void initData() {
imgDataToux.setImageURI(pic);
tvDataName.setText(name);
tvDataPwd.setText(pwd);
}
@Override
public int getLayoutId() {
return R.layout.activity_data;
}
}
public class RegisActivity extends BaseActivity {
@BindView(R.id.regis_phone)
EditText regisPhone;
@BindView(R.id.regis_yzm)
EditText regisYzm;
@BindView(R.id.regis_eye)
ImageView regisEye;
@BindView(R.id.login_pwd)
EditText loginPwd;
@BindView(R.id.regis_hq)
EditText regisHq;
@BindView(R.id.regis_zc)
TextView regisZc;
@BindView(R.id.regis_dz)
Button regisDz;
@Override
protected void initView() {
}
@Override
protected void initData() {
}
@Override
public int getLayoutId() {
return R.layout.activity_regis;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// TODO: add setContentView(...) invocation
ButterKnife.bind(this);
}
//設置密碼是否可見
private boolean isEye=true;
@OnClick({R.id.regis_eye, R.id.regis_hq, R.id.regis_zc, R.id.regis_dz})
public void onClick(View view) {
switch (view.getId()) {
//小眼睛
case R.id.regis_eye:
if(isEye){
loginPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
isEye=false;
}else {
loginPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());
isEye = true;
}
break;
//獲取驗證碼
case R.id.regis_hq:
break;
//已有賬號 登錄頁面
case R.id.regis_zc:
finish();
break;
//註冊
case R.id.regis_dz:
doRegis();
break;
}
}
private void doRegis() {
//獲取賬號密碼是否可見
String phones = regisPhone.getText().toString().trim();
String pwd = loginPwd.getText().toString().trim();
if (TextUtils.isEmpty(phones)) {
toast("請輸入您的手機號");
return;
}
//// if (!Utils.isMobilePhone(phone)) {
//// toast("請輸入一個正確的手機號");
//// return;
// }
if (TextUtils.isEmpty(pwd)) {
toast("請輸入您的密碼");
return;
}
HashMap<String, String> hashMap1 = new HashMap<>();
//走註冊
HashMap<String, String> hashMap = new HashMap<>();
hashMap.put("phone",regisPhone.getText().toString());
hashMap.put("pwd",loginPwd.getText().toString());
getPresenter().post(0, "small/user/v1/register",null,hashMap);
}
@Override
public void success(int type, String data) {
super.success(type, data);
RegisBean regisBean = new Gson().fromJson(data, RegisBean.class);
toast(regisBean.getMessage());
Intent intent = new Intent(RegisActivity.this, LoginActivity.class);
startActivity(intent);
}
}