首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
mvp detachView 空指针
2024-09-01
Android MVP Presenter 中引发的空指针异常
一.概述 最近对 googlesamples/android-architecture 中的 MVP-dagger 进行了学习.对照项目的 MVP-dagger 分支,对 MVP-dagger 进行了实践,不日将会在另一篇文章中进行介绍. MVP 架构,顾名思义,Model-View-Presenter.其作用是解决 Android 的 MVC 架构中,Activity 的职责不清,过于庞杂,难以维护的缺点. 在众多对 MVP 的实践中,Presenter 常有 attachView 和 una
android的MVP模式
MVP简介 相信大家对MVC都是比较熟悉了:M-Model-模型.V-View-视图.C-Controller-控制器,MVP作为MVC的演化版本,那么类似的MVP所对应的意义:M-Model-模型.V-View-视图.P-Presenter-表示器. 从MVC和MVP两者结合来看,Controlller/Presenter在MVC/MVP中都起着逻辑控制处理的角色,起着控制各业务流程的作用.而 MVP与MVC最不同的一点是M与V是不直接关联的也是就Model与View不存在直接关系,这两者之间
Android MVP+Retrofit+RxJava实践小结
关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳: 1.Android MVP 实例 2.Android Retrofit 2.0使用 3.RxJava 4.RxBus 假设,您对MVP.Retrofit.RxJava已经有了一点了解,那么我们开始本文: Android MVP优化 1.MVP绑定Activity(Fragment)生命周期 按照之前的文章,每个Presenter都得初始化和销毁,我新加MvpActivity(MvpFragment)
82.Android之MVP+Retrofit+RxJava实践小结
转载:http://wuxiaolong.me/2016/06/12/mvpRetrofitRxjava/ 关于MVP.Retrofit.RxJava,之前已经分别做了分享,如果您还没有阅读过,可以猛戳:1.Android MVP 实例2.Android Retrofit 2.0使用3.RxJava4.RxBus 假设,您对MVP.Retrofit.RxJava已经有了一点了解,那么我们开始本文: Android MVP优化 1.MVP绑定Activity(Fragment)生命周期按照之前的文
Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(二)
1,昨天我们基本上把MVP给封装起来了,今天接着昨天的东西来结合RxJava把Retrofit把网络框架简单的封装一下,先看一下我们今天实现的效果: 哈哈 ,还是昨天的效果,好吧 ,我认错. 2,由于这次是把RxJava给接入进来了,所以我们可以对昨天的BasePresenter再次进行封装 BaseRxPresenter.java package com.qianmo.myview2.base; import rx.Subscription; import rx.subscriptions.C
Android--带你一点点封装项目 MVP+BaseActivity+Retrofit+Dagger+RxJava(一)
1,其实早就想把这些东西给封装封装的,一直没有时间,今天刚好项目进入到测试阶段了,Bug同事在哪儿测试的飞起,但发现提bug的尽然是我(得意脸),然后上午把ios的包测试了一下,顺便把服务器给测挂了(别问我是怎么做到的),现在服务器的同事还在拿着刀满街找我呐.好了不扯了,就想标题写了,一直想把这一块揉在一起写写,那就趁这个机会吧. 先看看今天我们要实现的效果: 2,有些童鞋就很气愤了,麻蛋,裤子都脱了,你给我看这个!!!! 其实我也想多写点的啊,还想把App下载写上呢,没事,我们慢慢一点点的来,
应用MVP模式写出可维护的优美Android应用
在Android开发中,我们常常会动辄写出数千行的Java类,而当一个Activity有4.5千行的时候,想找一个逻辑在哪儿就会显得异常痛苦了.比如想在数据加载错误的时候,显示一个提示信息,上上下下得找很久. 最近用了MVP模式后,我觉得找到了一个不错的框架级解决方法. 首先看看 MVP是什么 MVP是MVC模式的一个衍生物,可以简单看下图.在MVP模式中,V层完全和M层(在Android中可能是Model.DAO.或者通用的business logic)分开.在中间用P层分隔,从而把数据有关和
MVP框架 – Ted Mosby的软件架构
作者:Hannes Dorfmann 原文链接 : Ted Mosby – Software Architect 文章出自 : Android开发技术前线 译者 : Mr.Simple 我给这篇关于Android库的博客起的名字灵感来源于<老爸老妈浪漫史>中的建筑设计师Ted Mosby.这个Mosby库可以帮助大家在Android上通过Model-View-Presenter模式做出一个完善稳健.可重复使用的软件,还 可以借助ViewState轻松实现屏幕翻转. Model-View-Pre
MVP模式, 开源库mosby的使用及代码分析
Android中的构架模式一直是一个很hot的topic, 近年来Architecture components推出之后, MVVM异军突起, 风头正在逐渐盖过之前的MVP. 其实我觉得MVP还是有好处的, 比如灵活多变(其实只是我用起来更熟悉顺手一些吧). 个人是没有什么偏见的, 关于项目的构架, 只要找到适合的就行. 最近打算实际用一下mosby这个开源库, 帮助构建一下mvp模式, 本文是我的心路历程和代码心得记录. 关于MVP模式 前几年MVP模式的风很大, 之前工作的项目也用的MVP模
MVP之高级MVP架构封装
MVP之高级MVP架构封装 No MVP: 我们一般会这样写: public class MainActivity extends AppCompatActivity { private EditText etAccount,etPassWord; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac
android -------- MVP+DataBinding 的使用
今天来说说MVP+DataBinding 的使用 以一个登录案例来讲解 布局:(ConstraintLayout 作为根布局) <layout> <data> <variable name="onClick" type="com.zhangqie.mvplogin.LoginActivity.OnViewClick" /> </data> <android.support.constraint.Constrain
MVP架构学习
MVP架构学习 M:数据层(数据库,文件,网络等...) V:UI层(Activity,Fragment,View以及子类,Adapter以及子类) P:中介,关联UI层和数据层,因为V和M是相互看不到对方的,简单而言就是不能相互持有对方的引用 MVP只是一种思想,不要把它认为是一种规范,要学会灵活用户,下面就带大家走进MVP模式的学习 需求 需求很简单,我们就做一个简单的登录功能,当点击界面上的Login按钮,会向后台发送登录请求.如下图所示, 布局文件 <?xml version="1
【Swift实现代码】iOS架构模式之MVP
1.什么是MVP? MVP是模型(Model).视图(View).主持人(Presenter)的缩写,分别代表项目中3个不同的模块. 1.1 模型 (Model):负责处理数据的加载或存储 1.2 视图 (View):负责界面数据的展示与用户交互 1.3 主持人(Presenter):是Model和View之间的桥梁,将两者进行链接. 整个交互流程看起来大致是这样的: 用户交互->View获得交互事件->View将事件转发给Presenter->Presenter调用Model获取新数据
Android APP架构设计——MVP的使用示例
0. 前言 为了更好地进行移动端架构设计,我们最常用的就是MVC.MVP和MVVM,作为三个最耳熟能详的三大架构,应用可谓非常广泛.对于这三种架构设计以及优缺点已经在Android APP架构设计--MVC.MVP和MVVM介绍一文中介绍过了,本文是对前面那篇文章2.3小节的补充,介绍MVP模式在Android中的使用示例,目的在于深化对MVP架构的理解. 1. 使用场景 这里我们实现一个简单的登录功能.先看一下效果图. 1.1 Model层设计 Model层包括我们的基本实体类User
MVP模式入门(结合Rxjava,Retrofit)
本文MVP的sample实现效果: github地址:https://github.com/xurui1995/MvpSample 老规矩,在说对MVP模式的理解之前还是要再谈谈MVC模式,了解了MVC的缺点.我们才知道为什么要用MVP. 关于MVC的图解,我在网上找到了一些图.如下: MVC模式在开发web或者管理系统中应用很多,我们的View与人交互,人点击鼠标或者输入一些东西时,View会发送相应的指令给Controller,Controller接到指令,再去调用Model的方法去更
MVP架构下解决 RxJava 自动解绑问题
背景 MVP 模式下使用 RxJava 处理网络访问的回调,当数据返回时 Presenter 调用绑定的 View 的方法. 定义 BasePresenter 如下: public class BasePresenter<T extends MvpView> implements Presenter<T> { private T mMvpView; @Override public void attachView(T mvpView) { mMvpView = mvpView; }
移动架构之MVP框架
MVP是在开发中常用的框架,要了解其原理,先要从了解MVC开始,这里就对MVP框架做一个简单的介绍 MVC MVC为Model,View与Controllor的缩写 Model:业务逻辑和实体模型 View:对应于布局文件,但是细细的想想这个View对应于布局文件,其实能做的事情特别少,实际上关于该布局文件中的数据绑定的操作,事件处理的代码都在Activity中,造成了Activity既像View又像Controller Controllor:对应于Activity MVP MVC为Model,
mvp解读
mvp存在的问题 1.业务复杂时,可能使得Activity变成更加复杂,比如要实现N个IView,然后写更多个模版方法. 2.业务复杂时,各个角色之间通信会变得很冗长和复杂,回调链过长. 3.Presenter处理业务,让业务变得很分散,不能全局掌握业务,很难去回答某个业务究竟是在哪里处理的. 4.用Presenter替代Controller是一个危险的做法,可能出现内存泄漏,生命周期不同步,上下文丢失等问题. mvc存在的问题 (1)完全理解MVC并不是很容易.使用MVC需要精心的计划,由于它
带你封装自己的MVP+Retrofit+RxJava2框架(一)
前言 文本已经收录到我的Github个人博客,欢迎大佬们光临寒舍:我的GIthub博客 看完本篇文章的,可以看下带你封装自己的MVP+Retrofit+RxJava2框架(二),里面封装得到了改进 本篇文章需要已经具备的知识: MVP的概念和基本使用 Retrofit框架的基本使用 RxJava2框架的基本使用 ButterKnife框架的基本使用 Base基类的概念 学习清单: Activity和Fragment基类的封装 MVP的封装使用 一.为什么要封装这套框架呢? 在搞清楚这个问题之前,
2015 西雅图微软总部MVP峰会记录
2015 西雅图微软总部MVP峰会记录 今年决定参加微软MVP全球峰会,在出发之前本人就已经写这篇博客,希望将本次会议原汁原味奉献给大家 因为这次是本人第一次写会议记录,写得不好的地方希望各位园友见谅! 出发前 关于签证问题,微软会给决定参加峰会的朋友发送邀请函的,Visa Officer看到邀请函之后90%会给你通过的,所以不需要太担心 微软的邀请函 在出发前的最后一个星期是选择课程,因为峰会这几天时间是需要上课的 登录峰会的选课系统 因为我是SQL Server方向,所以基本都是SQL Se
从Script到Code Blocks、Code Behind到MVC、MVP、MVVM
刚过去的周五(3-14)例行地主持了技术会议,主题正好是<UI层的设计模式——从Script.Code Behind到MVC.MVP.MVVM>,是前一天晚上才定的,中午花了半小时准备了下就开讲了. 今天看到了大家在为MVVM knockout.js友(ji)好(lie)地交流,所以就整理下然后更扩展地分享. 主要目的也不是为了争论,毕竟只是正巧主题相近,原本的打算也就是一次技术分享并且记录下来. 那么我们就按照大致的历史进程将这些概念进行划分: Script Code Blocks.Code
热门专题
bootstraptable模态框
华为荣耀v9微信视频怎么录屏
高德地图api获取当前地址
微信小程序checkbox事件
router-link 守卫点击事件
python 刷新表格gird
spring 从model取值
JS水平垂直居中怎么设置
gojs画布大小缩放自适应
tar.gz 解压 大小写重名
QT 格式化代码插件
ARCGIS 的MAPSERVER 是WMS么
.NET 页面缓存怎么代码清除
delphi 按钮模拟程序最小化
客户寄售要配置吗 SAP
hibernate jar包
安卓如何使用uuid连接蓝牙设备
java 两个启动类 jar启动指定
ios info.plist 自定义字段
springboot调oracle存过