我有一个应用程序,目前包含2个活动。在第一个活动中,有Fragment
,其本身包含MapFragment
。另一个活动包含ViewPager
,其中包含两个片段,其中一个片段也是Fragment
,其本身包含MapFragment
。在包含MapFragment
的两个片段中,我需要请求用户当前位置(仅在用户请求时一次)。要获取用户位置,我正在使用Google Play服务位置API。这里最好的方法是避免在包含MapFragment
的两个提到的片段中重复代码(管理连接错误等)?我应该创建一个IntentService
还是尝试使用普通的java类进行管理,还是有更好的方法,我目前不知道?
答案 0 :(得分:0)
我会将公共代码作为一个组件(可能是一个POJO)并使用依赖注入框架(可能是dagger)将其注入我需要的地方。
如果使用DI框架对于您的情况来说有点过头,您仍然应该采用组件方法并编写您自己的(接近于普通的)逻辑以在需要的地方提供它。
在单元测试方面,这也是必须的,因为您可以存根/模拟位置配置。
答案 1 :(得分:0)
我制作自定义Application
并在用户请求时调用getLastLocation - 然后将该位置存储在字段中并为该字段创建一个getter。