![]() |
1
1
这是架构模式中遵循的实践之一。这意味着视图(Activity/Fragment)的作用仅仅是显示数据,而不能直接对数据进行更改。这反过来帮助我们解决了许多与持久性相关的问题: 为了解释更多关于这一点,假设你正在创建一个类似Instagram的应用程序,让当前登录的用户跟随/不跟随该用户。我们希望这个按钮能影响标签的跟随者数量,并相应地更改按钮上的文本。 让我们用一个代码示例来理解。 代码:
除了肮脏的代码之外,它还有很多缺陷
在本例中,每次用户旋转设备时,活动都会被销毁并重新创建,导致所有数据成员重置,网络调用再次执行,从而浪费用户带宽,并迫使用户等待新的查询完成。因此,最好避免UI中的数据处理部分 为了更好的理解和清晰,我建议你看这个视频由莱拉。她用类似的例子解释得很好。请让我知道如果你需要更清楚 视频链接: DroidCon Architectural Components 另一个有用的链接: Nice article why persisting on UI is not a good choice |
![]() |
2
0
数据库link . 如果您选择使用SQLite,我建议您使用其中一个ORM库。最受欢迎的是Android的Room Persistence Library 共享首选项外部/内部存储在设备文件系统上存储文件。它们之间的区别在于内部存储是应用程序专用的。外部存储允许您在共享文件系统中存储文件。 Writing files to internal storage Writing files to external storage |