适用于Android Mobile,Tablet,Wear和TV的MVP Dribbble客户端

时间:2017-05-24 11:45 来源:互联网 作者:源码搜藏收藏

  • 源码类别:项目源码
  • 源码大小:未知
  • 编码格式:gbk,utf8,不限
  • 运行环境:Android studio
  • 广告推荐

波旁头

波旁是一个简单的Dribbble客户端,专为Android Mobile,Wear和TV设计(它也针对平板电脑进行了优化)。在使用MVP架构方法时,它是通过通用代码模块共享代码的实验。

结构体


Bourbon使用CoreCommon模块在不同的应用程序包之间共享代码,您可以从下面的长列表中看到,这允许我们重新使用我们的应用程序的大量代码!CoreCommon模块包含:

  • BourbonApplication - 这是一个标准的Android应用程序类,我简单地重新用于每个应用程序模块。这本质上使用Dagger来设置我们的ApplicationComponent和Timber来进行日志记录。

  • 数据模型 - 看到我们的应用程序模块都将显示相同的数据,共享数据模型是有意义的。在应用程序(Shot,User,Comment,Image)中只使用4个(最小)模型,但是在这个模块中共享它们可以在任何时候更改它们来保持它们更容易。

  • DataManager - DataManager类作为与BourbonService进行通信的中间人。再次,应用程序模块都访问相同的数据,因此共享DataManager是合乎逻辑的。

  • BourbonService - BourbonService声明端点并管理从中检索数据。所以如上面的DataManager,跨应用程序模块的行为是一样的。

  • 匕首注射组件和模块 - 看到,我们现在知道我们的三个应用程序模块使用相同的DataManager,BourbonService等 - 它只是有意义地共享与匕首注入相关的逻辑。如果您查看注入包,您将看到有几个类声明组件和模块,这意味着可以跨应用程序注入相同的依赖项。

  • Base Presenter和MvpView - Bourbon使用Presenters和MvpViews的基类,在创建这些类的新类时应该使用它们。为此,通过CoreCommon模块使用它们可确保所有类都在扩展或实现相同的基类 - 这也减少了代码重复。

  • BrowseMvpView&BrowsePresenter - 我们每个应用程序模块的浏览屏幕的行为方式完全相同。如果显示给用户,则会检索一张照片列表,然后显示/隐藏进度指示符,使API请求正确显示,并向用户显示任何空/错误状态。这意味着Presenter类将包含相同的逻辑,MvpView接口将定义完全相同的接口方法。冷却这个原因,将BrowseMvpView和BrowsePresenter保存在CoreCommon模块中是有意义的,因此这些类只需要定义一次才能在我们的应用程序模块中共享。

  • ShotMvpView&ShotPresenter - 同样适用于显示Shot Details的屏幕。用于处理屏幕上内容显示的类和接口,因此我们通过CoreCommon模块共享ShotMvpView和ShotPresenter。

  • 颜色,字符串和维度文件 - 波旁拥有特定的品牌颜色,所以这不会改变它的应用程序模块。整个应用程序中使用的字符串也同样如此,还有一些维度值也符合这一点。因此,我将这些值放在CoreCommon模块中的资源文件中 - 这意味着它们可以跨应用程序模块共享。现在,如果有任何这些颜色或者字符串需要改变,我只需要做一次!

  • TestDataFactory - TestDataFactory是用于构造单元和仪器测试中使用的虚拟数据模型的类。为此,此类存在于CoreCommon模块中,这是AndroidTestCommon模块可以从其访问此类的地方。

  • 单元测试 - 由于需要单元测试的类可在CoreCommon模块中找到,所以单元测试也可以在这里找到。一个单独的包包含在CoreCommon模块中定义的DataManager和Presenter类的测试。

特征


您可以在这里阅读有关波本风的更多信息,但是现在可以快速了解应用程序的当前功能:

浏览镜头

用户可以在手机,平板电脑,服装或电视设备上浏览最新的20张照片:

浏览截图

在这些屏幕上,我们也考虑到错误状态:

错误屏幕截图

也不要忘记空的国家:

空屏幕截图

拍摄细节和评论

选择一个镜头后,用户可以查看拍摄图像以及该镜头的任何注释,如下所示:

细节截图

由于设备的性质,Wear和TV的评论也会以不同的方式显示:

评论截图

快来了

一旦V1完成,我想写一下这个邮件,但是很快我打算:

  • 实施用于过渡视图和屏幕的动画/运动事件
  • 添加用户个人资料屏幕
  • 浏览拍摄时的分页
  • 还有其他我想到的

要求

  • Android SDK
  • Android 5.0(API 21)
  • Android SDK工具
  • Android SDK Build工具23.0.2
  • Android支持资源库
  • Android支持库

建造

要构建,安装和运行调试版本,请从项目的根目录运行:

./gradlew app:assembleDebug

测试

要运行CoreCommon模块中的单元测试,请从项目的根目录运行以下命令:

./gradlew corecommon:testDebugUnitTest

如上述结构部分所述,每个仪器测试都分为单独的模块。您可以通过从项目根目录运行以下命令来运行这些模块的测试测试:

要运行手机的测试测试:

./gradlew mobile-androidTest:connectedAndroidTest

运行磨损测试仪器:

./gradlew wear-androidTest:connectedAndroidTest

运行电视仪器测试:

./gradlew tv-androidTest:connectedAndroidTest
本站资源仅限于学习研究,严禁从事商业或者非法活动! 源码搜藏网所有源码来自互联网转载与用户上传分享,如果侵犯了您的权益请与我们联系,我们将在24小时内删除!谢谢!

项目源码下载排行

最新文章