model层 public interface ILoginModel { void login(String name, String pass, Callback callback); void reg(String name, String pass,Callback callback); } public class LoginModel implements ILoginModel{ @Override public void login(String name, String pass, Callback callback) { OKHttpUtils.getInstance().doGet("http://120.27.23.105/user/login?mobile="+name+"&password="+pass,callback); } @Override public void reg(String name, String pass, Callback callback) { OKHttpUtils.getInstance().doGet("http://120.27.23.105/user/reg?mobile="+name+"&password="+pass,callback); } } view层 public interface IRegView { void setName(String name); String getName(); void setPass(String pass); String getPass(); } public interface ILoginView { void setName(String name); String getName(); void setPass(String pass); String getPass(); } p层 public class LoginPresenter { Context context; ILoginModel model; ILoginView view; public LoginPresenter(Context context, ILoginView view) { this.context = context; this.view = view; model=new LoginModel(); } //登录 public void Login(){ String name = view.getName(); String pass = view.getPass(); model.login(name, pass, new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { } @Override public void onsuccess(String result) throws IOException { LoginBean loginBean=new Gson().fromJson(result,LoginBean.class); if (loginBean.getCode().equals("0")){ Toast.makeText(context,"登录成功",Toast.LENGTH_SHORT).show(); Intent intent=new Intent(context, InfoActivity.class); context.startActivity(intent); }else{ Toast.makeText(context,"登录失败",Toast.LENGTH_SHORT).show(); } } }); } } public class RrgPresenter { Context context; IRegView view; ILoginModel model; public RrgPresenter(Context context, IRegView view) { this.context = context; this.view = view; model=new LoginModel(); } public void Reg(){ String name = view.getName(); String pass = view.getPass(); model.reg(name, pass, new OnUiCallback() { @Override public void onFailed(Call call, IOException e) { } @Override public void onsuccess(String result) throws IOException { RegBean regBean=new Gson().fromJson(result,RegBean.class); if (regBean.getCode().equals("0")){ Toast.makeText(context,"注册成功",Toast.LENGTH_SHORT).show(); Intent intent=new Intent(context, LoginActivity.class); context.startActivity(intent); }else{ Toast.makeText(context,"注册失败",Toast.LENGTH_SHORT).show(); } } }); } } activity public class LoginActivity extends AppCompatActivity implements ILoginView{ private EditText et_name; private EditText et_pass; private Button btn_login; LoginPresenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); presenter=new LoginPresenter(this,this); btn_login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { presenter.Login(); } }); } private void initView() { et_name = (EditText) findViewById(R.id.et_name); et_pass = (EditText) findViewById(R.id.et_pass); btn_login = (Button) findViewById(R.id.btn_login); } @Override public void setName(String name) { et_name.setText(name); } @Override public String getName() { return et_name.getText().toString(); } @Override public void setPass(String pass) { et_pass.setText(pass); } @Override public String getPass() { return et_pass.getText().toString(); } } public class RegActivity extends AppCompatActivity implements IRegView { private EditText et_name; private EditText et_pass; private Button btn_reg; RrgPresenter presenter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_reg); initView(); presenter=new RrgPresenter(this,this); btn_reg.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { presenter.Reg(); } }); } private void initView() { et_name = (EditText) findViewById(R.id.et_namereg); et_pass = (EditText) findViewById(R.id.et_passreg); btn_reg = (Button) findViewById(R.id.btn_reg); } @Override public void setName(String name) { et_name.setText(name); } @Override public String getName() { return et_name.getText().toString(); } @Override public void setPass(String pass) { et_pass.setText(pass); } @Override public String getPass() { return et_pass.getText().toString(); } } xml登录 <EditText android:id="@+id/et_name" android:layout_width="200dp" android:layout_height="wrap_content" android:hint="请输入用户名" android:layout_gravity="center" android:layout_marginTop="100dp"/> <EditText android:id="@+id/et_pass" android:layout_width="200dp" android:layout_height="wrap_content" android:hint="请输入密码" android:layout_gravity="center" android:layout_marginTop="20dp"/> <Button android:id="@+id/btn_login" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="登录" android:layout_gravity="center" android:layout_marginTop="20dp"/> xml注册 <EditText android:id="@+id/et_namereg" android:layout_width="200dp" android:layout_height="wrap_content" android:hint="请输入用户名" android:layout_gravity="center" android:layout_marginTop="100dp"/> <EditText android:id="@+id/et_passreg" android:layout_width="200dp" android:layout_height="wrap_content" android:hint="请输入密码" android:layout_gravity="center" android:layout_marginTop="20dp"/> <Button android:id="@+id/btn_reg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="注册" android:layout_gravity="center" android:layout_marginTop="20dp"/>
MVP 登录注册
最新推荐文章于 2019-08-13 14:10:23 发布