【问题标题】:Android MVP Architecture - SharedPreference is consider as Model?Android MVP 架构 - SharedPreference 被视为模型?
【发布时间】:2018-12-23 12:18:48
【问题描述】:

我研究了很多关于 Android MVP 的资源。据我了解,模型是数据访问层,仅处理与从内部或外部系统的存储(数据库)访问数据相关的任何工作。比如Firebase这样的外部数据库,Realm这样的内部数据库等。

我的不确定性

我不确定 Android 中的“SharedPreference”,因为它的作用类似于将数据存储在应用程序中的“永久会话”,

是否意味着SharedPreference的任何数据检索都应该在模型层中完成?或者我可以简单地检索视图层中的 SharedPreference 数据以显示在屏幕上?

【问题讨论】:

    标签: android architecture mvp android-mvp


    【解决方案1】:

    是否意味着 SharedPreference 的任何数据检索都应该是 在模型层完成?

    是的

    我与 MVP 合作了大约 2 年,这是我们的团队方法:创建一个 SharedPreferencesManager(模型)类来管理属于 SharedPreferences 的所有内容,因为 SharedPreferences 是一个“精简”数据库(键值)

    这只是一个意见。希望对您有所帮助!

    【讨论】:

    • 这是否意味着您必须将上下文数据从视图层传递到模型层才能获得 SharedPreference 数据?
    • 是的,我们必须将上下文传递给模型层。
    • 这是一个好方法吗?作为传递上下文(android 特定代码),这实际上会降低应用程序的可测试性
    • 在 SQLite 或 Realm 中,您也必须传递上下文。所以我认为这里的权衡是可以接受的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-22
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 2018-04-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多