| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> Android MVP架构终极封装 -> 正文阅读 |
|
[移动开发]Android MVP架构终极封装 |
Android应用开发项目默认是MVC架构的,对于古老的Java桌面开发来说,已经是一大进步了。但随着项目的复杂度越来越高,Activity明显hold不住日益膨胀的逻辑代码。各种回调也让Activity的生命周期回收处于失控边缘,导致各种难以排查的内存泄漏。 于是,MVP应运而生,甚至后来衍生了更加激进的MVVM,以及其他AAC等形形色色的架构。 正所谓大道至简,返璞归真。首先解释一下,为什么我从事移动开发8年了,偏偏对MVP情有独钟,因为个人觉得MVP比MVVM更能把控复杂的项目,虽然Presenter会持有Activity的引用(引入androidx.lifecycle.ViewModel后已经完美解决内存泄漏的问题),但模块独立,且回调非常方便。 这里提到MVVM,虽然不用特殊处理就可以解决内存泄漏的问题,但回调需要借助LiveData,且在xml里写代码,让我想起了当年被JSP支配的恐惧,抛开逻辑是否清晰不说,遇到问题时调试起来可能会让人抓狂。 下面介绍一下我熬了多个夜晚、成为光头才封装好的这个MVP框架,无需考虑内存泄漏的问题,且使用非常方便,可以自行选择是否启用屏幕适配、高刷新率等(本框架在Kotlin项目中使用可以把简洁优雅体现得淋漓尽致,Kotlin也是方向,今后移动应用的项目肯定以Kotlin为主了)。 一、项目配置1.在build.gradle(app)同目录新建mvp.gradle文件 mvp.gradle的内容为:
2.在build.gradle(app)顶部添加:
3.build.gradle(app)的android节点增加:
4.在gradle.properties文件增加:
5.把mvp.aar放到
以上就是所有的集成步骤了,看起来似乎有5步,其实每一步都非常简单。下面介绍部分常用功能使用: 二、基本使用布局activity_test.xml:
Activity:
温馨提示:activity添加 Presenter:
怎么样,够简洁吧,不用关心内存泄漏,一个Activity可以多开Presenter,且Presenter可以在多个模块流转,只要把BasePresenter的泛型换成继承于IView的接口即可。 三、网络请求1.网络管理者
2.网络接口
3.BaseResponse
4.在Presenter中使用
四、实用扩展1.申请权限
2.启动Activity
3.启用高刷新率
4.startActivityForResult
5.防止快速点击
6.扩大点击范围
7.设置Activity动画左进右出
8.网络请求信息
其他屏幕适配、dp和sp转px等等 五、例子下载这里提供的是一些封装好的API使用例子,提供的Demo是有偿下载的,一者是对我劳动的肯定;二者作为程序员,如果有什么想法,鼓励自己去学习与实现,会比直接拷贝来得充实。 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 14:46:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |