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

android中的mvp模式(二)

 
阅读更多
1. 需求,这个是《android开发必知的50个诀窍》一书中的mvp章节的需求。
在splash页面中,判断是否有网络连接,有则跳到下个页面,无则弹出一条消息通知用户,同时在检查网络是否正常的期间显示一个进度条。

2. 类目录结构

3. model接口和实现
public interface INetConnect {  
     boolean isNetConnect( Context context);  
}  
public class NetConnect implements INetConnect {  
  
     @Override  
     public boolean isNetConnect(Context context) {  
            if (context != null) {  
                ConnectivityManager mConnectivityManager = (ConnectivityManager) context  
                          .getSystemService(Context. CONNECTIVITY_SERVICE);  
                NetworkInfo mNetworkInfo = mConnectivityManager  
                           .getActiveNetworkInfo();  
                 if (mNetworkInfo != null) {  
                      return mNetworkInfo.isAvailable();  
                }  
           }  
            return false;  
     }  
  
}

4. view接口
public interface ISplashView {  
     void showProcessBar();  
     void hideProcessBar();  
     void showNetError();  
     void startNextActivity();  
}

5. presenter实现
public class SplashPresenter {  
     private INetConnect connect;  
     private ISplashView iView;  
       
     public SplashPresenter(ISplashView iView){  
            this. iView = iView;  
            connect = new NetConnect();  
     }  
       
     public void didFinishLoading(Context context){  
            iView.showProcessBar();  
            if( connect.isNetConnect(context)){  
                 iView.startNextActivity();  
           } else{  
                 iView.showNetError();  
           }  
            iView.hideProcessBar();  
     }  
}

6.activity中代码
public class MainActivity extends Activity implements ISplashView{  
  
     SplashPresenter presenter;  
     private ProgressDialog progressBar;  
     @Override  
     protected void onCreate(Bundle savedInstanceState) {  
            super.onCreate(savedInstanceState);  
           setContentView(R.layout. activity_main);  
             
            presenter = new SplashPresenter( this);  
     }  
  
     @Override  
     protected void onResume() {  
            super.onResume();  
            presenter.didFinishLoading( this);  
     }  
       
     @Override  
     public void showProcessBar() {  
            if ( progressBar == null) {  
                 progressBar = new ProgressDialog( this);  
                 progressBar.setCancelable( true);  
                 progressBar.setCanceledOnTouchOutside( true);  
                 progressBar.setMessage( "更新数据中,请稍后" );  
           }  a
            progressBar.show();  
     }  
  
     @Override  
     public void hideProcessBar() {  
            progressBar.hide();  
     }  
  
     @Override  
     public void showNetError() {  
           Toast. makeText(this, "暂无网络", Toast.LENGTH_SHORT).show();  
     }  
  
     @Override  
     public void startNextActivity() {  
           Toast. makeText(this, "跳到下个activity", Toast.LENGTH_SHORT).show();  
     }  
  
}
  • 大小: 3.5 KB
分享到:
评论

相关推荐

    android mvp模式demo

    **二、MVP模式的优点** 1. **分离关注点**:MVP模式将界面逻辑、数据处理和用户交互分开,使得每个部分都有明确的责任,便于团队协作。 2. **可测试性**:由于Presenter不直接依赖于Android组件,可以创建单元测试...

    Android中MVP模式极简例子

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

    android中MVP模式(一)

    MVP模式在大型项目中尤其受欢迎,因为它有助于降低耦合度,使得团队成员可以并行开发不同的模块。 **Model(模型层)** 模型层负责处理应用的数据和业务逻辑。它与数据源交互,如数据库、网络API或本地文件系统,...

    Android使用mvp模式入门

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

    android中MVP模式访问网络

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

    Android MVP模式示例

    在Android MVP模式中,Model通常与SQLite数据库、网络API或其他数据源交互,提供业务逻辑所需的数据。这个层不关心视图的呈现方式,只关注数据的处理。 **二、View层** View层是用户界面,包括Activity、Fragment或...

    android MVP模式简单练习

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

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

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

    Android MVPdemo

    下面我们将深入探讨MVP模式及其在Android中的应用。 **一、MVP模式介绍** MVP全称为Model-View-Presenter,是一种将业务逻辑、界面显示和数据处理分离的设计模式。它主要由三个角色构成: 1. **Model**:模型层,...

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

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

    android mvp模式简单demo

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

    Android的MVP模式

    **Android的MVP模式详解** MVP(Model-View-Presenter)模式是一种软件设计模式,尤其在Android开发中被广泛采用,它旨在提高代码的可测试性、可维护性和结构清晰性。MVP将应用程序的组件职责分离,使得每个部分都...

    android MVP模式例子源码

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

    android mvp模式demo

    在MVP模式中,Model层负责处理数据和业务逻辑。它与数据源交互,可以是本地数据库、网络API或其他数据存储。Model层应当不依赖于任何视图或呈现器,只关注数据的获取和处理。当数据发生变化时,Model会通知Presenter...

    Android Mvp模式 Demo

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

    mvp模式demo

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

    Android MVP设计模式 实战演练

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

    Android中MVP模式的开发

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

    Android MVP模式实现登录操作

    本示例"Android MVP模式实现登录操作"将详细阐述如何在Android项目中应用MVP架构来完成用户登录功能。 **1. MVP模式概述** MVP模式由三部分组成:Model(模型层)、View(视图层)和Presenter(展示者层)。 - **...

Global site tag (gtag.js) - Google Analytics