在Android中保存动态生成的UI(是否使用Sqlite?)

在Android中保存动态生成的UI(是否使用Sqlite?),android,sqlite,android-layout,android-sqlite,Android,Sqlite,Android Layout,Android Sqlite,我有一个应用程序,用户可以在运行时从预定义的XML创建视图。目前,我正在保存用户创建的视图数量。当应用程序重新启动时,主活动从SQLite获取信息并相应地生成UI,以便用户在离开应用程序时看到确切的UI。我的问题是,在用户每次启动应用程序时生成UI元素是一种好的做法,还是有其他方法在退出时保存应用程序状态 这是个好习惯吗 是的,SQLite非常适合在每个设备的基础上存储数据集,并且很可能是您的最佳解决方案 退出时是否有其他方法保存应用程序状态 除了使用SQLite之外,还有许多方法;您可以使用共

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

这是个好习惯吗

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

退出时是否有其他方法保存应用程序状态

除了使用SQLite之外,还有许多方法;您可以使用共享首选项,将数据保存到文件,或使用基于服务器的数据库(例如Firebase、MySQL等)

共享首选项更适合保存特定数据,而不是不同数量的数据(列表或数据集)。SQLite更适合存储不同数量的数据(列表或数据集)

文件。SQLite实际上将数据存储为文件,但它处理文件管理的底层复杂性。编写自己的文件处理/管理可能没有什么好处(如果有好处的话),但要付出更多的工作/编码代价

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


SQLite的一个潜在缺点是,默认情况下,数据将存储在应用程序的数据中。因此,它可以很容易地被删除(通过设置/应用程序)。您可以使用外部存储作为数据库的位置。或者,您可以实施到外部存储的备份(能够从备份中恢复)。

它是否工作正常?那就好了,我有更高端的设备。在那个装置上它工作得很好。但在UI中使用数据库是一种好的做法吗?或者还有其他选择吗。这样我就可以比较这两种方法的性能了。我认为如果你在动态创建UI元素,你可以使用SharedReferences。但我认为数据库更适合作为优化工具使用。谢谢,Rotwang。