`
iaiai
  • 浏览: 2196326 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

android中MVP模式(一)

 
阅读更多
1. 明确需求,界面如下:可存,可根据id读取数据。


2. 建立bean
public class UserBean {  
     private String mFirstName;  
     private String mLastName;  
  
     public UserBean(String firstName, String lastName) {  
            this. mFirstName = firstName;  
            this. mLastName = lastName;  
     }  
  
     public String getFirstName() {  
            return mFirstName;  
     }  
  
     public String getLastName() {  
            return mLastName;  
     }  
}

3. 建立model(处理业务逻辑,这里指数据读写),先写接口,后写实现
public interface IUserModel {  
     void setID(int id);  
  
     void setFirstName(String firstName);  
  
     void setLastName(String lastName);  
  
     int getID();  
  
     UserBean load(int id);// 通过id读取user信息,返回一个UserBean  
}

实现不在这里写了。

4. 建立view(更新ui中的view状态),这里列出需要操作当前view的方法,也是接口
public interface IUserView {  
     int getID();  
  
     String getFristName();  
  
     String getLastName();  
  
     void setFirstName(String firstName);  
  
     void setLastName(String lastName);  
}

5. 建立presenter(主导器,通过iView和iModel接口操作model和view),activity可以把所有逻辑给presenter处理,这样java逻辑就从手机的activity中分离出来。
public class UserPresenter {  
     private IUserView mUserView;  
     private IUserModel mUserModel;  
  
     public UserPresenter(IUserView view) {  
            mUserView = view;  
            mUserModel = new UserModel();  
     }  
  
     public void saveUser( int id, String firstName, String lastName) {  
            mUserModel.setID(id);  
            mUserModel.setFirstName(firstName);  
            mUserModel.setLastName(lastName);  
     }  
  
     public void loadUser( int id) {  
           UserBean user = mUserModel.load(id);  
            mUserView.setFirstName(user.getFirstName()); // 通过调用IUserView的方法来更新显示  
            mUserView.setLastName(user.getLastName());  
     }  
}

6. activity中实现iview接口,在其中操作view,实例化一个presenter变量。
public class MainActivity extends Activity implements OnClickListener,IUserView {  
  
     UserPresenter presenter;  
     EditText id,first,last;  
     @Override  
     protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
           setContentView(R.layout. activity_main);  
             
           findViewById(R.id. save).setOnClickListener( this);  
           findViewById(R.id. load).setOnClickListener( this);  
            id = (EditText) findViewById(R.id. id);  
            first = (EditText) findViewById(R.id. first);  
            last = (EditText) findViewById(R.id. last);  
             
            presenter = new UserPresenter( this);  
     }  
  
     @Override  
     public void onClick(View v) {  
            switch (v.getId()) {  
            case R.id. save:  
                 presenter.saveUser(getID(), getFristName(), getLastName());  
                 break;  
            case R.id. load:  
                 presenter.loadUser(getID());  
                 break;  
            default:  
                 break;  
           }  
     }  
  
     @Override  
     public int getID() {  
            return new Integer( id.getText().toString());  
     }  
  
     @Override  
     public String getFristName() {  
            return first.getText().toString();  
     }  
  
     @Override  
     public String getLastName() {  
            return last.getText().toString();  
     }  
  
     @Override  
     public void setFirstName(String firstName) {  
            first.setText(firstName);  
     }  
  
     @Override  
     public void setLastName(String lastName) {  
            last.setText(lastName);  
     }  
  
}

7. 所谓的mvp,即是(model-处理业务逻辑(主要是数据读写,或者与后台通信(其实也是读写数据)),view-处理ui控件,presenter-主导器,操作model和view)

  • 大小: 17.9 KB
  • 大小: 36.3 KB
分享到:
评论

相关推荐

    android mvp模式demo

    在“androidmvp-master”这个项目中,我们可能会看到以下目录结构: - `model`:包含Model接口和实现。 - `presenter`:包含Presenter接口和实现。 - `view`:包含View接口和Activity/Fragment实现。 - `util`:...

    Android中MVP模式极简例子

    总之,MVP模式在Android开发中是一个强大的工具,通过合理地划分职责,它能够帮助我们构建健壮、可测试的应用程序。通过"MVPdemo"这个项目,开发者可以快速上手,将理论知识转化为实际操作,进一步提升自己的Android...

    Android使用mvp模式入门

    MVP模式在Android开发中起到了重要的作用,它有助于组织代码结构,提高代码质量。理解并熟练运用MVP模式,可以使开发者更高效地管理复杂的项目,增强代码的可测试性,为团队协作和后期维护带来便利。在实际项目中,...

    android中MVP模式访问网络

    本示例"android中MVP模式访问网络"是关于如何在Android应用程序中使用MVP模式来处理网络数据请求的一个演示。我们将主要探讨以下三个方面:MVP模式的基本概念,AsyncHttp库的使用,以及如何在MVP架构下整合这两者。 ...

    Android MVP模式示例

    在本示例中,`androidmvp`压缩包文件包含了实现上述步骤的代码示例,你可以通过阅读和运行这些代码来更好地理解和应用MVP模式。参考链接中的博客文章提供了详细的代码讲解,有助于你深入理解每个部分的作用和实现...

    android MVP模式简单练习

    在"android MVP模式简单练习"中,你可能看到了以下的实现方式: 1. **定义接口**:为了实现解耦,通常会为视图和呈现者定义接口。视图接口会包含如`显示数据`、`处理用户操作`等方法,而呈现者接口则会有`初始化数据...

    安卓开发框架工具类相关-AndroidMVP模式实现登录操作.zip

    本资料"Android MVP模式实现登录操作.zip"可能包含了一个用于演示如何在Android中应用MVP模式的登录功能的实例。下面,我们将深入探讨MVP模式以及如何在实际的Android项目中实现这一模式。 1. **MVP模式的概念** ...

    Android中MVP模式的经典案例,极度适合新手入门,一一哥亲情奉献

    总之,MVP模式是Android开发中的一种强大工具,尤其对于大型项目来说,它能提高代码的可读性和可维护性。通过一一哥的这个入门级教程,你将能够快速掌握MVP模式,并将其应用到自己的Android项目中。

    Android MVPdemo

    总结,"Android MVPdemo"项目为我们提供了一个简单易懂的MVP模式应用实例,展示了如何在Android中分离业务逻辑、用户界面和数据处理,对于初学者来说,这是一个很好的学习起点。通过深入理解这个项目,开发者可以更...

    Android的MVP模式

    通过以上分析,我们可以理解MVP模式如何帮助我们构建一个更高效、更易于维护的Android应用。实际开发中,可以根据项目需求灵活调整MVP的具体实现,比如使用 Passive View 或 Supervising Controller 变种。总之,MVP...

    android mvp模式简单demo

    本篇将详细介绍Android MVP模式的基本概念、工作原理以及如何在实际项目中应用。 1. **MVP模式简介** MVP模式由三个主要组件构成:Model(模型)、View(视图)和Presenter(展示者)。Model负责处理数据,View...

    android MVP模式例子源码

    android MVP模式例子源码,封装了一个对数据库操作的类,实现了对数据的进行数据库的存取,具体MVP模式教程参考博客http://blog.csdn.net/u012925323/article/details/50409422,希望对大家有帮助。

    android mvp模式demo

    在"androidmvp"和"AndroidMVPTest"这两个文件中,我们可以看到一个具体的Android MVP模式的示例项目。这个Demo可能包含以下几个部分: 1. **Model类**:如UserModel,负责获取和处理用户数据。 2. **Presenter接口*...

    Android Mvp模式 Demo

    在“Android MVP模式 Demo”中,我们可以预期找到以下内容: 1. **Presenter接口** - 定义了与视图交互的方法,如初始化数据、处理用户操作等。 2. **View接口** - 定义了视图需要实现的回调方法,用于接收来自...

    mvp模式demo

    综上所述,"mvp模式demo"是一个很好的学习资源,它展示了如何在Android应用中实践MVP模式,帮助开发者提升代码组织和项目管理的能力。通过深入研究"todoapp"的源码,你可以更好地理解MVP模式的运作机制及其在实际...

    Android MVP模式实现登录操作

    在Android应用开发中,Model-View-Presenter(MVP)模式是一种常见的设计模式,它将业务逻辑、数据处理和...在Android开发中,MVP模式是一种推荐的实践方式,它有助于保持代码清晰,降低耦合度,使团队合作更加高效。

    Android中MVP模式的开发

    MVP模式是为了解决Android中Activity过于庞大,职责不明确的问题而引入的。 **Model层**:这是应用程序的数据层,负责处理数据相关的操作,如数据库访问、网络请求等。Model对象不直接与View或Presenter交互,而是...

    Android MVP设计模式 实战演练

    本实战演练将深入探讨如何在Android项目中运用MVP模式来构建高效、模块化的应用。 **1. MVP模式的组件解释** - **Model(模型层)**: 这是业务逻辑和数据处理的部分,负责与数据源交互,如数据库、网络API等。它不...

Global site tag (gtag.js) - Google Analytics