Android: 开发框架设计

article/2025/9/24 11:11:41

Android 开发框架

Android运用框架的目的不外乎是实现代码的代码解耦、逻辑分类、快速集成 便于维护等目的;Android 开发架构从早期的MVC ,到近年到MVP 架构,到最近流行到MVVM 架构。不断到对业务逻辑、代码结构进行分层,便于快速开发和维护。

快速开发框架主要是整合常用的工具栏,网络、注解等相关库,搭好手脚架实现快速开发等目的。

目前在设计一个比较轻量级的快速开发框架,主要设计基于以下几点:

  1. 架构: MVP 目前运用的比较多,开源相关资料也比较多; MVVM 架构在Android 目前比较少,但是更符合我们业务上的特点, 不用构造太多的中间类, 在比较MVP、MVC、MVVM 架构各自的特点,我们考虑MVVM架构,并考虑 官方的机构库;用LiveData+ViewModel开发过一个小模块,整体体验还不错;
  2. 考虑快速上手,尽量用普及度较高的开源库;
  3. 引入RxJava 、RxAndroid等响应式编程;
  4. 框架能够支持扩展组件化开发,模块能够高度解耦;
  5. 集成通用的网络请求、缓存、日志管理等功能;

初步选定整合以下开源库:

  1. 响应式编程库 : RxJava 、RxAndroid

  2. 网络请求库: OKHttp Retrofit

  3. 框架组件库: Android 官方架构组件库(LifeCycle LiveData ViewMode ROOM )

  4. 常用工具类库: AndroidUtilCode

  5. 事件总线 LiveDataBus /EventBus

  6. 路由: 阿里ARouter

  7. 日志: Timmer

    虽然RxAndroid 本身和LiveData 本质上都是基于观察者模式,有人说二者有冲突,二选一即可;但我不这么认为, Rx只是一种编程方式的工具,我们只会在模块中用,LiveData ViewMode 来承担MVVM 架构 的桥梁;

架构


http://chatgpt.dhexx.cn/article/dZej3JW8.shtml

相关文章

安卓框架

http://www.cnblogs.com/jincheng-yangchaofan/articles/7018780.html 框架:提供一定能力的小段程序 一.榜单介绍 排行榜包括四大类: 单一框架:仅提供路由、网络层、UI层、通信层或其他单一功能的框架 混合开发框架:提供开发hy…

安卓应用开发顶级框架大盘点,总有一款适合你

作者 | Slava Vaniukov 译者 | 苏本如,责编 | 夕颜 封图 | CSDN下载自视觉中国 出品 | CSDN(ID:CSDNnews) 随着软件开发向移动应用的转变,越来越多的企业意识到,移动应用程序对于企业和客户之间建立牢固的联系至关重要…

嵌入式Android底层开发(一)——安卓开发的整体框架与简述

一、Android简介 Android是一种基于Linux内核(不包含GUN组件)的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。 主要参数表: 参数上…

Android 框架

背景 我们有一个需求:我们需要查询用户账号信息,用户输入账号,点击按钮可进行查询账号信息,如果查询数据成功,则将数据展示在界面上;如果查询数据失败,则在界面上提升获取数据失败。 假如说我们…

Android - 框架使用

目录 1 Gson解析JSON 1.1 引入依赖 1.2 使用 1.3 安装插件 1.4 Demo 2 下滑刷新,上滑加载新数据 2.1 背景 2.2 引入依赖 2.3 代码实现 3 加载网络图片 3.1 背景 3.2 引入依赖 3.3 代码实现 4 轮播图 4.1 引入依赖 4.2 代码实现 5 网络数据请求 Re…

Android 快速开发框架 集成框架

由于自己经常写项目,没有一个方便开发的一套框架怎么行,所以在日常开发总自己整理了一套,请各位过目,不喜勿喷。一个新项目搭建需要具备的环境:先导入我制作的jar包。添加必要的权限。需要一个Application初始化数据,下面开始调用…

Android应用-开发框架设计

目录 1. 📂 简介 1.1 背景 1.2 专业术语 2. 🔱 总体设计思想 2.1 分层:组件化设计框架 2.2 分类:应用开发架构图 3. ⚛️ 框架详细设计 3.1 组件化框架外形 3.2 业务模块化 3.3 代码编程框架 4. 💠 框架其他…

Android常用框架

1.缓存框架 1.1DiskLruCache:Java实现基于LRU的磁盘缓存,DiskLruCache不是google官方所写,但是得到了官方推荐,DiskLruCache没有编写到SDK中去,如需使用可直接copy这个类到项目中去。使用场景:如“清除…

Android开发框架大全

包括各种快速开发框架、测试框架、系统框架、插件补丁框架、设计模式框架、主题切换框架。 android-tips-tricks: https://github.com/nisrulz/android-tips-tricks Android 开发的一些 Tips 集合 Android-Code-Style: https://github.com/LoranWong/And…

Android开发常用开源框架

Android开源框架系列 Android开源项目 Android开发常用开源框架2 Android开发常用开源框架3 GitHub上最火的Android开源项目,所有开源项目都有详细资料和配套视频 2017年伊始,你需要尝试的25个Android第三方库 Android开发常用第三方平台 免费的计算机编程类中…

Android开发框架模式(MVC、MVP、MVVM)实例解析

Android项目中,尤其是比较大型的项目开发中,模块内部的高聚合和模块间的低耦合性就显得尤为重要了。所以我们一般情况下需要为项目设计一种框架模式,通常情况下我们一般用到的三种MVC、MVP、MVVM。 通过框架模式设计的项目能够极大的提高开发…

LDA主题模型评估方法–Perplexity

在LDA主题模型之后,需要对模型的好坏进行评估,以此依据,判断改进的参数或者算法的建模能力。 Blei先生在论文《Latent Dirichlet Allocation》实验中用的是Perplexity值作为评判标准。 一、Perplexity定义 源于wiki:http://en.wikipedia.org/wiki/Perplexity perplexity是一…

LDA困惑度perplexity的一些个人理解

纠结这个问题很久了,期间主要去了gensim的google论坛,以及在StackOverflow、StackexChange用关键词topic number perplexity搜了下,得到这些很模糊的认识: 1. gensim的log_perplexity()解读: 根据gensim3.8.3的源码&…

NLP基础知识点:困惑度(Perplexity)

本篇内容翻译自Speech and Language Processing. Daniel Jurafsky & James H. Martin. 链接:https://web.stanford.edu/~jurafsky/slp3/ 不愧是自然语言处理领域的圣经,读起来流畅自然,以后还是要多读经典。 困惑度(Perplexit…

Python LDA gensim 计算 perplexity

转载自 https://blog.csdn.net/qq_23926575/article/details/79472742 1.LDA主题模型困惑度 这部分参照:LDA主题模型评估方法–Perplexity,不过后面发现这篇文章Perplexity(困惑度)感觉写的更好一点,两篇都是翻译的维基百科。 perplexity是一…

困惑度 (perplexity)

困惑度 (perplexity) 在自然语言处理中,对于一个语言模型,一般用困惑度来衡量它的好坏,困惑度越低,说明语言模型面对一句话感到困惑的程度越低,语言模型就越好。 对于LDA模型,最常用的两个评价方法困惑度(Perplexity)、相似度(Corre)。 其中困惑度可以理解为对于一篇…

Metric评价指标-Perplexity语言模型

欢迎关注知乎: 世界是我改变的 知乎上的原文链接 一. 原理介绍 在研究生实习时候就做过语言模型的任务,当时让求PPL值,当时只是调包,不求甚解,哈哈哈,当时也没想到现在会开发这个评价指标,那现…

perplexity和预训练时用的loss的区别

Perplexity和预训练时用的loss都是用来评估语言模型的性能的指标,但是它们的计算方式和意义有所不同。 Perplexity是一种用来衡量语言模型对一个测试集的预测能力的指标。它的计算方式是将测试集中的所有句子输入到语言模型中,计算每个句子的困惑度&…

技术干货 | 基于MindSpore详解Perplexity语言模型评价指标

01 原理介绍 在研究生实习时候就做过语言模型的任务,当时让求PPL值,当时只是调包,不求甚解,哈哈哈,当时也没想到现在会开发这个评价指标,那现在我来讲一下我对这个指标的了解,望各位大佬多多指…

Perplexity定义

Refer from http://blog.csdn.net/pipisorry/article/details/42460023 http://blog.csdn.net/pipisorry/article/details/42460023 熵/信息熵 Perplexity定义 perplexity是一种信息理论的测量方法,b的perplexity值定义为基于b的熵的能量(b可以是一个概…