MVP 到 MVVM Android

2023-12-07

这里的一个人告诉我 MVVM 比 MVP 更好,他告诉了我很多优点和很多优点,但我想知道我的 MVP 是否做得很好,或者您是否知道任何其他可能转换为 MVVM 的方法。 这是使用 Google MVP 登录。 我不会放置所有代码,但我会放置文件夹和一些解释:

-Model

  • 用户(简单用户pojo类)

-主持人

  • 我有一个 IGoogleLoginView 对象,我在其中调用方法,但这里有逻辑createGoogleClient(),signIn(),onActivityResult(),onStop(), onStart(), onDestroy()所有这些方法都来自我的interface在同一个包内IGoogleSignIn
  • IGoogleSignIn - Presenter 类中的所有方法

-View

  • 谷歌登录()
  • 转到主活动()

然后我有我的 MainActivity,我在其中调用方法......

我想知道在 MVVM 上执行此操作会有什么不同,执行此操作需要进行哪些更改,而且还有什么地方不合适吗?


这是一个入门知识库,您应该创建自己的项目并实现这些软件架构,以便采用适合您和您的项目的架构:

Android 架构蓝图

Android Architecture Blueprints

具有模型-视图-意图的反应式应用程序 - 第 1 部分 - 模型

enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVP 到 MVVM Android 的相关文章

  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • 无法解析插件 Java Spring

    我正在使用 IntelliJ IDEA 并且我尝试通过 maven 安装依赖项 但它给了我这些错误 Cannot resolve plugin org apache maven plugins maven clean plugin 3 0
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • Java TestNG 与跨多个测试的数据驱动测试

    我正在电子商务平台中测试一系列商店 每个商店都有一系列属性 我正在考虑对其进行自动化测试 是否有可能有一个数据提供者在整个测试套件中提供数据 而不仅仅是 TestNG 中的测试 我尝试不使用 testNG xml 文件作为机制 因为这些属性
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • 错误:在根项目“projectName”中找不到项目“app”

    我有一个在 Eclipse 中开发的旧应用程序 现在尝试将其迁移到 Android Studio 我更新了库并遵循了基本步骤 现在 我收到此错误 Error Project app not found in root project pro
  • 加密 JBoss 配置中的敏感信息

    JBoss 中的标准数据源配置要求数据库用户的用户名和密码位于 xxx ds xml 文件中 如果我将数据源定义为 c3p0 mbean 我会遇到同样的问题 是否有标准方法来加密用户和密码 保存密钥的好地方是什么 这当然也与 tomcat
  • 如何在控制器、服务和存储库模式中使用 DTO

    我正在遵循控制器 服务和存储库模式 我只是想知道 DTO 在哪里出现 控制器应该只接收 DTO 吗 我的理解是您不希望外界了解底层域模型 从领域模型到 DTO 的转换应该发生在控制器层还是服务层 在今天使用 Spring MVC 和交互式
  • 在 Mac 上正确运行基于 SWT 的跨平台 jar

    我一直致力于一个基于 SWT 的项目 该项目旨在部署为 Java Web Start 从而可以在多个平台上使用 到目前为止 我已经成功解决了由于 SWT 依赖的系统特定库而出现的导出问题 请参阅相关thread https stackove
  • Java执行器服务线程池[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 如果我使用 Executor 框架在
  • 在mockito中使用when进行模拟ContextLoader.getCurrentWebApplicationContext()调用。我该怎么做?

    我试图在使用 mockito 时模拟 ContextLoader getCurrentWebApplicationContext 调用 但它无法模拟 here is my source code Mock org springframewo
  • .isProviderEnabled(LocationManager.NETWORK_PROVIDER) 在 Android 中始终为 true

    我不知道为什么 但我的变量isNetowrkEnabled总是返回 true 我的设备上是否启用互联网并不重要 这是我的GPSTracker class public class GPSTracker extends Service imp
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 如何在桌面浏览器上使用 webdriver 移动网络

    我正在使用 selenium webdriver 进行 AUT 被测应用程序 的功能测试自动化 AUT 是响应式网络 我几乎完成了桌面浏览器的不同测试用例 现在 相同的测试用例也适用于移动浏览器 因为可以从移动浏览器访问 AUT 由于它是响
  • 在 Maven 依赖项中指定 jar 和 test-jar 类型

    我有一个名为 commons 的项目 其中包含运行时和测试的常见内容 在主项目中 我添加了公共资源的依赖项
  • 当我从 Netbeans 创建 Derby 数据库时,它存储在哪里?

    当我从 netbeans 创建 Derby 数据库时 它存储在哪里 如何将它与项目的其余部分合并到一个文件夹中 右键单击Databases gt JavaDB in the Service查看并选择Properties This will
  • 将 List 转换为 JSON

    Hi guys 有人可以帮助我 如何将我的 HQL 查询结果转换为带有对象列表的 JSON 并通过休息服务获取它 这是我的服务方法 它返回查询结果列表 Override public List
  • Crashlytics 出现 Android Studio 构建错误

    我正在尝试将 CrashLytics 与 Android Studio 和 gradle 一起使用 但出现一个令人困惑的错误 java lang NoSuchMethodError 我的 build gradle 是 buildscript
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 启用 Grails 休眠过滤器

    嗨 我正在使用Grails 过滤器插件 我正在尝试定义一个默认过滤器 如下所示 Defined inside the Book entity static hibernateFilters activeFilter condition ac
  • 处理 1.15 亿条记录插入 Oracle 的性能优化

    我有一个要求 我正在读取 Unix 中大小为 19 GB 且包含大约 1 15 亿条记录的文本文件 一旦文件放置在该位置 我的 Spring Batch 启动器 就会被 Autosys 和 Shell 脚本触发 最初执行此过程时 需要大约
  • 在 jQuery 中扩展原型时如何保持对 this 关键字的控制? [复制]

    这个问题在这里已经有答案了 我正在 jQuery 中实现一个类似类的结构 但是当我尝试调用一些函数时遇到了一些麻烦 这是结构的设置方式 MyClass function name this init name extend MyClass
  • Java泛型与无界通配符?

    我有一个将对象转换为字符串的接口 public interface Converter
  • Python:为什么“return”不会在简单的 for 循环中打印出所有列表元素,而“print”却可以?

    在将一个列表附加到另一个列表后 我尝试用 Python 打印列表中的所有元素 问题是 当我使用 PRINT 或 RETURN 时 它仅打印出每个元素 如果我使用 print 它会在列表末尾带有 None 的列中打印整个列表 但 return
  • 使用 R 进行 CPU 和内存高效的 NGram 提取

    我编写了一个算法 可以从 50000 个街道地址列表中提取 NGram 二元语法 三元语法 直到 5 元语法 我的目标是为每个地址提供一个布尔向量 表示该地址中是否存在 NGram 因此 每个地址都将由属性向量来表征 然后我可以对地址进行聚
  • 在 uncaughtException() 调用上启动活动

    我想从我的开始一项新活动UncaughtExceptionHandler当出现未捕获的异常时 这可能吗 我认为当前活动无法在 错误 状态下启动新的子活动 因为我总是收到以下错误 07 14 14 34 06 075 INFO Activit
  • Node.js 单线程机制

    我了解到 Node js 是单线程且非阻塞的 在这里我看到了一个很好的解释一般来说 Node js 如何处理 10 000 个并发请求 但第一个答案说 看似神秘的事情是上述两种方法如何设法 并行 运行工作负载 答案是数据库是线程化的 因此
  • 如果语句不起作用?

    我是编程小白 我只是想问一下下面的代码有什么问题 scanf i battlechoice printf BCHOICE WAS i n battlechoice if battlechoice 4 fleeing fleechance r
  • 在高度图上插入点

    我在平面上有一些均匀分布的值 字节 来自实际测量 例如温度 我正在尝试生成整个表面 但我没有成功 主要条件是点的数量和位置未知 并且表面必须保留测量点的值 并且对之间的点进行插值 理想情况下 如果仅设置一个点 则最终表面应该是一座山 顺便说
  • org.xml.sax.SAXParseExceptionpublicId:http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd

    执行时突然抛出错误 org xml sax SAXParseExceptionpublicId http xmlns jcp org xml ns persistence persistence 2 1 xsd lineNumber 1 c
  • 继承自 itemsControl - 如何更改项目的类型?

    我正在努力改进ListView 这主要与以下方面的变化有关ListViewItem班级 所以我继承了两者 创建了两个服装控件 NestedListView ListView NestedListViewItem ListViewItem 问
  • HDFS 复制 - 数据存储

    我是 hadoop 的相对新手 希望更好地了解复制在 HDFS 中的工作原理 假设我有一个 10 节点系统 每个节点 1 TB 总容量为 10 TB 如果复制因子为 3 则每个文件有 1 个原始副本和 3 个副本 所以 本质上 我的存储中只
  • 如何将文件下载到服务器中的特定路径:Python

    如何通过 http 将文件下载到 jython 或 python 服务器上的本地文件夹 下面的代码可能有效 os chdir path to change to from urllib2 import urlopen f urlopen h
  • 将 ObservableCollection 设置为 ObservableProperty

    我要切换到CommunityToolkit Mvvm源生成器来处理我的视图模型 我对如何处理有点困惑ObservableCollections 我的视图模型如下所示 public partial class MyViewModel Obse
  • 将字符字段更改为日期

    我有一个遗留的 postgres 数据库 其日期列转换为character 50 字段 不要问 我想更改表格和列以包含实际日期 因为这有效 select distinct to date date begin YYYY DD MM from
  • 如何动态实现api版本控制和swagger文档

    我正在 dotnet core api 工作 我必须在 api 上实现版本控制 swagger文档应该按api版本分类 在 Net Core api 版本控制中 可以通过添加来自 nuget 的以下参考来实现 Microsoft AspNe
  • MYSQL 缺少第一行数据[重复]

    这个问题在这里已经有答案了 我编写了一个 PHP 脚本 其中返回餐厅名称 地址 电话号码 营业时间表和自定义菜单的链接 但是 即使数据库中有周一的条目 当我在 mysqli fetch assoc 中执行 while 循环时 它也不会显示
  • Powershell:如何将一个 CSV 中的唯一标头合并到另一个 CSV 中?

    Edit 1 因此 我已经弄清楚如何获取 CSV 2 中的唯一标头以附加到 CSV 1 header table Get Member MemberType NoteProperty Name header add table add Ge
  • MVP 到 MVVM Android

    这里的一个人告诉我 MVVM 比 MVP 更好 他告诉了我很多优点和很多优点 但我想知道我的 MVP 是否做得很好 或者您是否知道任何其他可能转换为 MVVM 的方法 这是使用 Google MVP 登录 我不会放置所有代码 但我会放置文件