android - 使用 MVP 从画廊/相机获取图像

标签 android mvp

我正在编写一个应用程序,允许用户使用相机拍照 或选择图库中的图像。我有一个 fragment ,其布局显示 两个按钮,取决于按下的按钮,我使用 intent 来启动 相机或打开画廊。它工作正常。

我现在的目的是通过 MVP 做到这一点。如我所见

  • 我的 fragment 是 View
  • 图像的来源是模型,所以在这种情况下是模型 将从画廊或相机获取图像
  • 主持人要求模特给他一张图片并转发图片 到 fragment

问题是模型对象是 Pojo 类并且要从 Camera 或 Gallery 类需要实现 startActivityForResult 来获取 拍摄/选择的照片。

如何使用不是 fragment 的类从相机/画廊获取图像或 一个 Activity ? 如何在 POJO 类中移动相机/画廊的代码? 这总体上是个好主意吗?我在检索时没有找到任何 MVP 示例 图片是从 Fragment 还是 Activity 中完成的?

注意:也许 RxAndroid 可以实现这样的架构,但我希望我能在没有第三方库的情况下先做到这一点。

谢谢你的建议

最佳答案

How can I get image from camera/gallery with a class that is not a Fragment or an Activity ?

你必须从你的演示者那里做所有这些事情,而不是从你的 POJO 类。在这里你想访问一个android资源,所以将调用从'presenter-layer'传递回'view-layer'并从系统获得响应。在 Fragment/Activity 的 onActivityResult 方法中收到响应后,将其传递给 Presenter。干杯:)

关于android - 使用 MVP 从画廊/相机获取图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43192398/

相关文章:

oop - 在 MVP 中, View (又名页面)是否应该知道模型的任何信息?

design-patterns - MVP是一种设计模式还是一种架构模式? MvC 和 MvvM 怎么样?

java - 如何从 AsyncTask 类 onPostExecute 方法返回值?

果冻 bean 中的 Android 图像缩放和平移

java - 将 int 值从一个类传递到另一个类

asp.net - MVP - Presenter and the Service Layer - 在哪里声明服务层

android - 从 Uri 检索可绘制资源

c# - 命令和触发器之间的主要区别是什么? (Xamarin)

Java 继承 - 为 MVP 模式构建 BaseView

android - 最小化应用程序时如何停止 rxjava 重复