Android服务应该在MVP模式中扮演什么角色?

我正在开发一个人类活动识别的 Android应用程序.

它基本上是这样的 – 服务不断地读取加速器数据并将识别的活动(即,行走,运行)存储在数据库中.用户可以在活动中查看ListView中的所有已识别活动(访问数据库).数据库中的每个User表都有一个pa_goal(物理活动目标)字段,服务从数据库中读取该字段并进行一些检查.

当然,用户可以从活动中更改此目标.因为我将实现MVP架构模式.

我不确定该把服务放在哪里?肯定不是View.任何建议?

解决方法

一个干净的架构中,我假设你正在使用MVP,有一个将框架与业务逻辑分离的想法.这基本上是普通演示者允许您做的事情.

在这种情况下,它不是你正在处理的观点,但原则是相似的.当您可以将它们分离出来以获得更好,更单一的责任类时,您不希望将所有业务或应用程序逻辑混合在Android代码中.所以我会说,虽然它不是一个视图,但你仍然应该有一个presenter类型类(可能更好的称为控制器或管理器).

此类将是一个POJO,它控制您的服务行为,使用标准的junit测试和服务模拟可以轻松测试.然后可以将此类和服务放入其自己的功能包中,并以与演示者相同的方式与后端模型进行交互.

因此,总而言之,该角色是您的应用的另一个功能,即网站与其他功能(通常只是我的经验中的视图).

希望有所帮助

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...