public interface ILoginView {
String getUserName();
String getUserPwd();
void onSuccess(String code);
}
public interface IRequestLogin {
void toLogin(String userName, String pwd, IRequestResult requestResult);
}
public interface IRequestResult {
void onSuccess(String result);
void onFailed(String result);
}
public class LoginAct extends AppCompatActivity implements ILoginView {
private static final String TAG = "LoginAct";
LoginPresenter loginPresenter = new LoginPresenter();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
loginPresenter.tologin(this);
}
@Override
public String getUserName() {
return "userName";
}
@Override
public String getUserPwd() {
return "userPwd";
}
@Override
public void onSuccess(String code) {
Log.e(TAG, code);
}
}
public class LoginModule implements IRequestLogin{
@Override
public void toLogin(String name, String pwd, IRequestResult requestResult) {
requestResult.onSuccess("success->"+name+" "+pwd);
}
}
public class LoginPresenter implements IRequestResult {
private LoginModule loginModule;
private ILoginView loginView;
public void tologin(LoginAct loginAct) {
loginView = loginAct;
loginModule = new LoginModule();
loginModule.toLogin(loginView.getUserName(), loginView.getUserName(), this);
}
@Override
public void onSuccess(String result) {
loginView.onSuccess(result);
}
@Override
public void onFailed(String result) {
}
}
public class BaseContract {
public interface IBaseModule {
}
public interface IBasePresenter {
}
public interface IBaseView {
void showToast(String msg);
}
}
public abstract class BaseAct<V extends BaseContract.IBaseView,P extends BasePresenter> extends AppCompatActivity implements BaseContract.IBaseView {
public P presenter;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
presenter = initPresenter();
if (presenter != null) {
presenter.attatchWindow(initModule(),this);
}
initView();
}
protected abstract void initView();
protected abstract P initPresenter();
protected abstract BaseModule initModule();
@Override
protected void onDestroy() {
super.onDestroy();
presenter.detachWindow();
}
}
public class BaseModule implements BaseContract.IBaseModule {
}
public class BasePresenter<M extends BaseModule, V extends BaseContract.IBaseView> {
public M module;
public V view;
void attatchWindow(M m, V v) {
this.module = m;
this.view = v;
}
void detachWindow() {
this.module = null;
this.view = null;
}
}
public class LoginContract {
interface ILoginView extends BaseContract.IBaseView {
String getName();
String getPwd();
void onLoginResult(String code);
}
public interface ILoginPresenter extends BaseContract.IBasePresenter {
void getResult(LoginBean bean);
}
public interface ILoginModule extends BaseContract.IBaseModule {
void toLogin(String name, String pwd, ILoginPresenter iLoginPresenter);
}
}
public class LoginAct extends BaseAct<LoginContext.ILoginView, LoginPresenter> implements LoginContext.ILoginView {
private static final String TAG = "LoginAct";
@Override
public void showToast(String msg) {
}
@Override
protected void onResume() {
super.onResume();
presenter.toLogin();
}
@Override
protected BaseModule initModule() {
return new LoginModule();
}
@Override
protected void initView() {
}
@Override
protected LoginPresenter initPresenter() {
return new LoginPresenter();
}
@Override
public String getName() {
return "name";
}
@Override
public String getPwd() {
return "pwd";
}
@Override
public void onLoginResult(String code) {
Log.e(TAG, code);
}
}
public class LoginModule extends BaseModule implements LoginContract.ILoginModule {
@Override
public void toLogin(String name, String pwd, LoginContract.ILoginPresenter iLoginPresenter) {
//网络操作,返回数据
LoginBean loginBean = new LoginBean();
loginBean.setCode(name + pwd);
iLoginPresenter.getResult(loginBean);
}
}
public class LoginPresenter extends BasePresenter<LoginModule, LoginAct> implements LoginContract.ILoginPresenter {
public void toLogin() {
module.toLogin(view.getName(), view.getPwd(), this);
}
@Override
public void getResult(LoginBean bean) {
view.onLoginResult(bean.getCode());
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有