android mvc目录结构,Android中MVC的应用

初识MVC

MVC:M-Model-模型、V-View-视图、C-Controller-控制器

M层:适合做一些业务逻辑处理,比如数据库存取操作,网络操作,复杂的算法,耗时的任务等都在model层处理。

V层:应用层中处理数据显示的部分,XML布局可以视为V层,显示Model层的数据结果。

C层:在Android中,Activity处理用户交互问题,因此可以认为Activity是控制器,Activity读取V视图层用户输入的数据,控制用户输入,并向Model发送数据请求。

View:对应于布局文件

Model:业务逻辑和实体模型

Controllor:对应于Activity

MVC项目结构

f8c48d6b2d22

QQ截图20171028161820.png

M-Model-模型、V-View-视图、C-Controller-控制器

首先,实体类User

public class User {

private String user;

private String pwd;

public User(String user, String pwd) {

this.user = user;

this.pwd = pwd;

}

public String getUser() {

return user;

}

public void setUser(String user) {

this.user = user;

}

public String getPwd() {

return pwd;

}

public void setPwd(String pwd) {

this.pwd = pwd;

}

}

IUserModel

public interface IUserModel {

void login(String user, String pwd, OnLoginListener loginListener);

}

OnLoginListener

public interface OnLoginListener {

void onSuccess(User user);

void onFailed();

}

UserModel

public class UserModel implements IUserModel {

@Override

public void login(String name, String pwd, OnLoginListener listener) {

if (TextUtils.isEmpty(name) || TextUtils.isEmpty(pwd)) {

return;

}

if ("wanghao".equals(name) && "123".equals(pwd)) {

listener.onSuccess(new User(name, pwd));

}else {

listener.onFailed();

}

}

}

MainActivity

public class MainActivity extends AppCompatActivity implements OnLoginListener {

private EditText et_user;

private EditText et_pwd;

private Button bt_login;

private UserModel userModel;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

userModel = new UserModel();

initView();

}

private void initView() {

et_user = (EditText) findViewById(R.id.et_user);

et_pwd = (EditText) findViewById(R.id.et_pwd);

bt_login = (Button) findViewById(R.id.bt_login);

bt_login.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

userModel.login(et_user.getText().toString(), et_pwd.getText().toString(), MainActivity.this);

}

});

}

@Override

public void onSuccess(User user) {

Toast.makeText(MainActivity.this, "欢迎" + user.getUser(), Toast.LENGTH_SHORT).show();

}

@Override

public void onFailed() {

Toast.makeText(MainActivity.this, "失败", Toast.LENGTH_SHORT).show();

}

}

最后

个人理解,有什么不对的地方还请各位大神指正。

相关链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值