android中的mvp模式(二)
来源:互联网 发布:城市智能交通大数据 编辑:程序博客网 时间:2024/04/26 08:15
1. 需求,这个是《android开发必知的50个诀窍》一书中的mvp章节的需求。
5. presenter实现
6.activity中代码
在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( "更新数据中,请稍后" ); } 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(); } }
7. 源码链接
http://download.csdn.net/detail/knxw0001/7990065转自:http://blog.csdn.net/knxw0001/article/details/39672917
0 0
- android中的mvp模式(二)
- android中的mvp模式(二)
- android中的mvp模式(二)
- android中的MVP模式
- android中的MVP模式
- Android 中的MVP模式
- Android 中的MVP 模式
- android中的MVP模式
- Android---MVP设计模式中级(二)
- Android之mvp设计模式(二)
- Android 中的 MVP 模式(带实例)
- Android中的MVP模式使用
- Android中的 mvp 开发模式
- Android中的MVP模式(1)
- Android中的MVP设计模式
- Android开发中的MVP模式
- android中的MVP模式初探
- 深入浅出Android中的MVP模式
- 微软面试百题005——SBT再解第K数问题
- 通过socket登陆MySQL
- 【Python】|JSON序列化与反序列化
- jquery change()时间
- 数据结构与算法题目集(中文)4-10 二分查找 (20分)
- android中的mvp模式(二)
- c++ 函数模板 类模板
- (*(volatile unsigned long *) 地址)
- Canvas裁剪和Region、RegionIterator
- Quartz+Spring 分布式定时任务调度(一)- 环境搭建
- 图形视图框架(The QGraphics View Framework)
- scws自定义分词库
- python generator yield 协程 coroutine
- 微信分享功能JS-SDK说明文档