The mvp pattern separates the data model from view through presenter
This arch improves the testability of apps
0-package
Private SigninPresenter signinPresenter;
Oncreate()
signinPresenter= new SigninPresenter(MainActivity.this)
signinPresenter.signIn(“raja”,”raja”);
void showValidationError()
Log.e("validation","validation");
void signinsuccess()
Log.e("success","success");
void signingError();
Log.e("failure","failure");
}
--------------------------------
View-package
1.Interface SigninView{
void showValidationError();
void signinsuccess();
void signingError();
}
Presenter-package
2.interface SigninPresenter{
void signIn(String username, String password);
}
}
Model-package
3.class SigninPresenterImpl implements SigninPresenter{
private SigninView signinView;
4.SigninPresenterImpl(SigninView signinView)
this.signinView=signinView;
@Override
5.void signIn(String username, String password){
if(TextUtils.isEmpty("username") || TextUtils.isEmpty("password")){
signinView.showValidationError()
}else{
if(userName.equalIqnorecase("raja") && password.equalIqnorecase("raja")){
signinView.signinsuccess()
} else{
signinView.signinerror()
}
}
}