【问题标题】:Saving dynamically generated UI (Use Sqlite or not?) in Android在 Android 中保存动态生成的 UI(是否使用 Sqlite?)
【发布时间】:2017-05-03 08:30:54
【问题描述】:

我有一个应用程序,用户在运行时从预定义的 XML 创建视图。目前,我正在保存用户创建的视图数量。当应用程序重新启动时,主要活动从 SQLite 获取信息并相应地生成 UI,以便用户在离开应用程序时看到准确的 UI。我的问题是,这是每次用户启动应用程序时生成 UI 元素的好习惯,还是有其他方法可以在退出时保存应用程序状态?

【问题讨论】:

  • 它是否完美运行?然后就好了。
  • @Rotwang 我有更高端的设备。在那个设备上它工作得很好。但是将数据库用于 UI 是一种好习惯吗?还是有其他选择。这样我就可以比较两者的表现了。
  • 我认为动态创建 UI 元素没问题
  • 可以使用 SharedPreferences。但我认为数据库更像是一种优化的工具。
  • 谢谢,Rotwang。

标签: android sqlite android-layout android-sqlite


【解决方案1】:

这是好的做法吗?

是的,SQLite 非常适合存储基于每个设备的数据集,并且很可能是您的最佳解决方案。

还有其他方法可以在退出时保存应用状态吗?

除了使用SQLite,还有很多方法;您可以使用 Shared Preferences,将数据保存到 文件 或使用 基于服务器的数据库(例如 Firebase、MySQL 等)。

Shared Preferences 更适合保存特定数据,而不是不同数量的数据(列表或数据集)。 SQLite 更适合存储不同数量的数据(列表或数据集)。

文件。 SQLite 实际上将数据存储为文件,但它处理文件管理的底层复杂性。编写自己的文件处理/管理可能会带来很少的好处,如果有的话,会以更多的工作/编码为代价。

基于服务器的数据库 这样做的好处是数据可以存储在其他地方,因此可以被认为更安全。然而,缺点是必须远程访问数据,从而将数据的使用与远程连接的需要联系起来。 SQLite 基于客户端并内置在 Android 设备上,因此无需远程连接。

SQLite 的一个潜在缺点是默认情况下数据将存储在应用程序的数据中。因此可以轻松删除(通过设置/应用程序)。您可以使用外部存储来存储数据库的位置。或者,您可以实现对外部存储的备份(具有从备份恢复的能力)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-18
    相关资源
    最近更新 更多