gpt4 book ai didi

MVVM 中存储库级别或 Activity 内部的 Android 权限?

转载 作者:行者123 更新时间:2023-12-03 10:17:22 25 4
gpt4 key购买 nike

我正在使用 MVVM 清洁架构,需要使用融合位置提供程序获取当前位置,因此在获取当前位置之前,我需要检查用户是否已授予访问该位置和互联网的权限。
我通过实现数据源从存储库中检索位置,但我不确定我应该在哪里请求许可。在存储库中,当我请求位置或 Activity 时,首先请求许可,然后请求位置?

在第一种情况下,流程将是:
1)User clicks the button(view) 2)Viewmodel requests for location (viewmodel->usecase->repository) 3)Repository checks permissions and requests location 4)Observable is returned which emits location(s) or error if no permission were granted (or other error)
在第二种情况下:
1)User clicks the button and permission are checked/requested inside activity 2)If permission are granted, viewmodel requests position otherwise view shows an error 3)Repository requests and returns the location
第一种方法对我来说看起来更直接和合乎逻辑。表示层只是请求位置,然后存储库返回位置或错误,但是可能是数据层内部的逻辑太多?

最佳答案

根据用户交互的所有事情都不应该在存储库内完成。

ViewModel 是关于处理用户操作并将所有内容放在一起:UI 和数据。换句话说,repository 根据一些请求参数返回数据,ViewModel 决定如何对哪个 Action 使用react。

在这里使用第二种情况。

enter image description here

关于MVVM 中存储库级别或 Activity 内部的 Android 权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57787496/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com