android+如何封装功能,Android封装MVP实现登录注册功能

本文实例为大家分享了Android封装MVP实现登录注册功能,供大家参考,具体内容如下

model包:

import com.bwei.mvps.bean.UserBean;

/**

* 1. 类的用途

* 2. @author forever

* 3. @date 2017/9/1 16:00

*/

public interface IUserModel {

void setFirstName(String firstName);

void setLastName(String lastName);

String getFirstName();

String getLastName();

//根据id获取对象

UserBean load(int id);

}

import android.util.Log;

import com.bwei.mvps.bean.UserBean;

/**

* 1. 类的用途

* 2. @author forever

* 3. @date 2017/9/1 16:04

*/

public class UserModel implements IUserModel {

@Override

public void setFirstName(String firstName) {

Log.i("xxx", firstName);

}

@Override

public void setLastName(String lastName) {

Log.i("xxx", lastName);

}

@Override

public String getFirstName() {

return null;

}

@Override

public String getLastName() {

return null;

}

@Override

public UserBean load(int id) {

//查询数据库或联网获取数据

Log.i("fff", id + "");

return new UserBean("张", "三");

}

}

View包

/**

* 1. 类的用途

* 2. @author forever

* 3. @date 2017/9/1 15:53

*/

public interface UserView {

void setFirstName(String firstName);

void setLastName(String lastName);

int getId();

String getFirstName();

String getLastName();

}

presenter包:

import android.util.Log;

import com.bwei.mvps.MainActivity;

import com.bwei.mvps.bean.UserBean;

import com.bwei.mvps.model.IUserModel;

import com.bwei.mvps.model.UserModel;

import com.bwei.mvps.view.UserView;

/**

* 1. 类的用途

* 2. @author forever

* 3. @date 2017/9/1 16:05

*/

public class UserPresenter {

private UserView userview;

private final IUserModel iUserModel;

public UserPresenter(UserView userview) {

this.userview = userview;

iUserModel = new UserModel();

}

//保存数据

public void saveUser(int id, String firstName, String lastName) {

UserBean userBean = iUserModel.load(id);

Log.i("sss", "id:" + id + ",firstName:" + firstName + ",lastName:" + lastName);

}

//查询数据

public void find(int id) {

UserBean userBean = iUserModel.load(id);

String firstName = userBean.getFirstName();

String lastName = userBean.getLastName();

userview.setFirstName(firstName);

userview.setLastName(lastName);

Log.i("aaa", "id:" + id + ",firstName:" + firstName + ",lastName:" + lastName);

}

}

XML

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="70dp"

android:layout_height="wrap_content"

android:text="ID"/>

android:id="@+id/et_id"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="70dp"

android:layout_height="wrap_content"

android:text="FirstName"/>

android:id="@+id/et_first_name"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:layout_width="70dp"

android:layout_height="wrap_content"

android:text="LastName"/>

android:id="@+id/et_last_name"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"/>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/bt_register"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="注册"/>

android:id="@+id/bt_login"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:layout_weight="1"

android:text="登录"/>

Mactivity

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import com.bwei.mvps.presenter.UserPresenter;

import com.bwei.mvps.view.UserView;

public class MainActivity extends AppCompatActivity implements View.OnClickListener, UserView {

private EditText et_id;

private EditText et_first_name;

private EditText et_last_name;

private Button bt_login;

private Button bt_register;

private UserPresenter userPresenter;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

//找控件

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

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

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

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

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

bt_login.setOnClickListener(this);

bt_register.setOnClickListener(this);

//声明UserPresenter

userPresenter = new UserPresenter(this);

}

@Override

public void onClick(View view) {

switch (view.getId()) {

case R.id.bt_register://保存数据

userPresenter.saveUser(getId(), getFirstName(), getLastName());

break;

case R.id.bt_login:

userPresenter.find(getId());

break;

}

}

@Override

public void setFirstName(String firstName) {

et_first_name.setText(firstName);

}

@Override

public void setLastName(String lastName) {

et_last_name.setText(lastName);

}

@Override

public int getId() {

return new Integer(et_id.getText().toString());

}

@Override

public String getFirstName() {

return et_first_name.getText().toString();

}

@Override

public String getLastName() {

return et_last_name.getText().toString();

}

}

13d66d44b150fe8e930b9319f0e70139.png

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值