1、首先显示个人信息页面
public class LiginSuccessfulActivity extends AppCompatActivity { private SharedPreferences sp; private Button login_but; private boolean flag; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ligin); ImageView touxiang = (ImageView) findViewById(R.id.login_touxiang); TextView login_nickname = (TextView) findViewById(R.id.login_nickname); TextView login_phone = (TextView) findViewById(R.id.login_phone); login_but = (Button) findViewById(R.id.login_but); Button login_shop = (Button) findViewById(R.id.login_shop); String username = getIntent().getStringExtra("username"); String pwd = getIntent().getStringExtra("pwd"); sp = getSharedPreferences("confing", MODE_PRIVATE); flag = sp.getBoolean("flag", false); // login_but.setEnabled(true); if (flag == true) { login_but.setText("退出登录"); //登录成功取出手机号和密码 //密码 login_nickname.setText(pwd); //手机号 login_phone.setText(username); } else { login_but.setText("未登录"); login_nickname.setText("未登录"); login_phone.setText("未登录"); } login_but.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { flag = false; startActivity(new Intent(LiginSuccessfulActivity.this, MainActivity.class)); } }); login_shop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(LiginSuccessfulActivity.this, GoodsActivity.class)); } }); } }
2、进入登录注册界面
//登录界面的LoginOrRegisterView public class MainActivity extends AppCompatActivity implements LoginOrRegisterView { private LoginOrRegisterPresenter loginOrRegisterPresenter; private EditText ed_username; private EditText ed_pwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ed_username = (EditText) findViewById(R.id.ed_username); ed_pwd = (EditText) findViewById(R.id.ed_pwd); Button login = (Button) findViewById(R.id.login); Button register = (Button) findViewById(R.id.register); //登录界面的prensenter loginOrRegisterPresenter = new LoginOrRegisterPresenter(this); //注册按钮 register.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { startActivity(new Intent(MainActivity.this, RegisterActivity.class)); } }); //登录按钮 login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { loginOrRegisterPresenter.getLogin(MainActivity.this, ed_username.getText().toString(), ed_pwd.getText().toString()); } }); } @Override public void usernamePwdnull() { Toast.makeText(MainActivity.this, "用户名或密码输入有误", Toast.LENGTH_SHORT).show(); } @Override public void succenful(final JavaBean javaBean) { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(MainActivity.this, "登陆成功", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(MainActivity.this, LiginSuccessfulActivity.class); intent.putExtra("username", javaBean.getData().getUsername()); intent.putExtra("pwd", javaBean.getData().getPassword()); startActivity(intent); } }); } @Override public void loginEroo() { Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_SHORT).show(); } }
2.1:点击注册按钮
public class RegisterActivity extends AppCompatActivity implements RegisterView{ private RegisterPresenter presenter; private EditText re_username; private EditText re_pwd; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); Button re_login= (Button) findViewById(R.id.re_login); re_username = (EditText) findViewById(R.id.re_username); re_pwd = (EditText) findViewById(R.id.re_pwd); presenter = new RegisterPresenter(RegisterActivity.this,this); //注册按钮 re_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(re_username.length()<11&&re_username.length()>11) { Toast.makeText(RegisterActivity.this,"请输入正确的手机号!",Toast.LENGTH_SHORT).show(); } if(re_pwd.length()<6) { Toast.makeText(RegisterActivity.this,"密码不能小于6位!",Toast.LENGTH_SHORT).show(); } presenter.getDate(re_username.getText().toString(),re_pwd.getText().toString()); } }); } @Override public void reGisterusernamenull() { Toast.makeText(this, "手机号输入有误!", Toast.LENGTH_SHORT).show(); } @Override public void reGisterpwdnull() { Toast.makeText(this, "密码输入有误!", Toast.LENGTH_SHORT).show(); } @Override public void reGistersuccenful() { runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(RegisterActivity.this,"注册成功",Toast.LENGTH_SHORT).show(); finish(); } }); } @Override public void reGisterEroo() { Toast.makeText(this,"注册失败",Toast.LENGTH_SHORT).show(); } @Override public void reGisterPhon() { } @Override public void reGisterPwd() { } }
2.1.2:注册的Presenter层
public class RegisterPresenter {
private RegisterView view;
private Context context;
private RegisterModel model;
public RegisterPresenter(Context context, RegisterView view) {
this.view = view;
this.model = new RegisterModel();
this.context = context;
}
public void getDate(final String name, final String pwd) {
model.getData(context, name, pwd, new RegisterLinserter() {
@Override
public void setRegisSuccssful() {
view.reGistersuccenful();
}
@Override
public void setRegisEorr() {
view.reGisterEroo();
}
@Override
public void setRegisMobileNull() {
}
@Override
public void setRegisPwdNull() {
view.reGisterpwdnull();
}
});
}
}
2.1.2:注册的view层
public interface RegisterView {
//注册
public void reGisterusernamenull();
public void reGisterpwdnull();
public void reGistersuccenful();
public void reGisterEroo();
}
2.1.3:注册的Model层
public class RegisterModel {
public void getData(final Context context, final String name, final String pwd, final RegisterLinserter linserter) {
if (TextUtils.isEmpty(name)) {
linserter.setRegisMobileNull();
}
if (TextUtils.isEmpty(pwd)) {
linserter.setRegisPwdNull();
}
Map<String, String> map = new HashMap<>();
map.put("mobile", name);
map.put("password", pwd);
//请求数据
OkHttp3Utils.doPost("http://120.27.23.105/user/reg", map, new Callback() {
@Override
public void onFailure(Call call, IOException e) {
linserter.setRegisEorr();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
String string = response.body().string();
Gson gson = new Gson();
JavaBean javaBean = gson.fromJson(string, JavaBean.class);
String code = javaBean.getCode();
if ("0".equals(code)) {
linserter.setRegisSuccssful();
}
}
});
}
}
2.1.4:Model层对应的接口
public interface RegisterLinserter {
public void setRegisSuccssful();
public void setRegisEorr();
public void setRegisMobileNull();
public void setRegisPwdNull();
}
2.2.0:点击登录按钮,由于登录按钮不需要跳转新的Activity,直接在点击事件中完成
登录的Presenter层
public class LoginOrRegisterPresenter {
private LoginOrRegisterView view;
private LoginOrRegisterModel model;
public LoginOrRegisterPresenter(LoginOrRegisterView view) {
this.view = view;
this.model = new LoginOrRegisterModel();
}
public void getLogin(Context context, String name, String pwd) {
model.getLogin(context, name, pwd, new LoginLister() {
@Override
public void setLoginSuccssful(JavaBean javaBean) {
view.succenful(javaBean);
}
@Override
public void setLoginEorr() {
view.loginEroo();
}
@Override
public void setLoginMobilePwdNull() {
view.usernamePwdnull();
}
});
}
}
2.2.1:登录的view层
public interface LoginOrRegisterView {
//密码用户名为空
public void usernamePwdnull();
public void succenful(JavaBean javaBean);
public void loginEroo();
}
2.2.2:登录的Model层
public class LoginOrRegisterModel { private SharedPreferences sp; public void getLogin(Context context, final String name, final String pwd, final LoginLister loginLister) { sp = context.getSharedPreferences("confing", Context.MODE_PRIVATE); Map<String, String> map = new HashMap<>(); map.put("mobile", name); map.put("password", pwd); OkHttp3Utils.doPost("http://120.27.23.105/user/login", map, new Callback() { @Override public void onFailure(Call call, IOException e) { loginLister.setLoginEorr(); } @Override public void onResponse(Call call, Response response) throws IOException { String result = response.body().string(); Gson gson = new Gson(); JavaBean loginJavaBean = gson.fromJson(result, JavaBean.class); String code = loginJavaBean.getCode(); if ("0".equals(code)) { loginLister.setLoginSuccssful(loginJavaBean); SharedPreferences.Editor edit = sp.edit(); edit.putBoolean("flag", true); edit.putString("modile", name); edit.putString("pwd", pwd); edit.commit(); } } }); } }
2.2.3:Model层对应的接口
public interface LoginLister { public void setLoginSuccssful(JavaBean javaBean); public void setLoginEorr(); public void setLoginMobilePwdNull(); }