首先创建bean类,提供get set 方法
public class User { public String name; public String pass; public User(String name, String pass) { this.name = name; this.pass = pass; } public String getName() { return name; } public String getPass() { return pass; } public void setName(String name) { this.name = name; } public void setPass(String pass) { this.pass = pass; } } 接下来建3个包 view包 presenter包 model包 每创建一个类都要有对应的接口 view包public interface Main_interface { String getName(); String getPass(); void showLoginSuccess(User user); void showLoginFailed(String s); }public class MainActivity extends AppCompatActivity implements View.OnClickListener,Main_interface{ private EditText ed_name,ed_pass; private Button login,register; private Login_presenter_interface lpi; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lpi=new Login_presenter_class(this); //找控件 initView(); } private void initView() { ed_name= (EditText) findViewById(R.id.ed_name); ed_pass= (EditText) findViewById(R.id.ed_pass); findViewById(R.id.login).setOnClickListener(this); findViewById(R.id.register).setOnClickListener(this); } @Override public void onClick(View v) { switch (v.getId()){ case R.id.login: lpi.login(); break; case R.id.register: break; } } @Override public String getName() { return ed_name.getText().toString(); } @Override public String getPass() { return ed_pass.getText().toString(); } @Override public void showLoginSuccess(User user) { Toast.makeText(this,"user: "+user.getName(),Toast.LENGTH_SHORT).show(); } @Override public void showLoginFailed(String s) { Toast.makeText(this,s,Toast.LENGTH_SHORT).show(); } }model包public interface Login_interface { void login(String name,String pass,LoginListener loginlistener); interface LoginListener { void loginSuccess(User user); void loginFailed(String s); } }public class Login_class implements Login_interface { @Override public void login(final String name, final String pass, final LoginListener loginlistener) { new Handler().postDelayed(new Runnable() { @Override public void run() { boolean errer=false; if(TextUtils.isEmpty(name)){ loginlistener.loginFailed("用户名不能为空"); errer=true; } if(TextUtils.isEmpty(pass)){ loginlistener.loginFailed("密码不能为空"); errer=true; } if(!errer){ loginlistener.loginSuccess(new User(name,pass)); } } },2000); } }presenter包public interface Login_presenter_interface { void login(); }public class Login_presenter_class implements Login_presenter_interface { private Login_class lc; private Main_interface mi; public Login_presenter_class(Main_interface mi) { this.mi = mi; lc = new Login_class(); } @Override public void login() { lc.login(mi.getName(), mi.getPass(), new Login_interface.LoginListener() { @Override public void loginSuccess(User user) { mi.showLoginSuccess(user); } @Override public void loginFailed(String s) { mi.showLoginFailed(s); } }); } }