【问题标题】:keeping a public static arraylist in a activity in android, is a good practice?在 android 的活动中保留一个公共静态数组列表,是一个好习惯吗?
【发布时间】:2015-12-28 04:26:59
【问题描述】:

我正在开发一个安卓应用程序。在它的启动活动中,我下载了一个 JSON 字符串(带来学生详细信息)并创建了一个包含学生 ID、姓名、年龄、描述的学生数组列表(这个数组列表是公共的和静态的)。然后应用程序显示所有学生姓名的列表视图。然后我在单击的列表项上写了显示该学生的详细视图。我想知道在所有活动中使用公共静态数组列表的应用程序中使用它是否是一种好习惯? 如果不是我应该使用什么.?? 我应该将它们保存在 SQLite 数据库中吗??

【问题讨论】:

    标签: android arraylist static


    【解决方案1】:

    这肯定不是一个好习惯! 在这种情况下,您有两种选择。

    1. 如果您每次运行新应用时都下载这些字符串,那么最好将该列表保存在 Singleton 类中。
    2. 或者,如果您只是想第一次下载,以后可能不会再下载太多,那么请务必将其保存在数据库中。

    【讨论】:

    • 您能解释一下为什么在单例类中创建变量而不是使其成为静态变量更好。
    • 在一个将被销毁并可能在稍后重新创建的活动中拥有一个静态数组列表绝对不是一个好习惯。我根据他的要求回答了。与其保持它处于活动状态,不如将该数组保持在一个普通的 java 单例类中。
    • 好的。我同意你的看法。如果我创建一个静态类并将该变量放在该类中,那么它也可以,我想是的。除此之外,SharedPreference 也是一个不错的选择。希望你同意
    • 我将此添加到数据库中。但是你能给我一个例子来说明如何使用该字符串创建一个单例类,或者请给我一个关于如何将我的静态数组保存在单例类中的例子。
    【解决方案2】:

    将数据保存在 SQLite 数据库中是最佳做法。也尝试为您的数据创建 ContentProvider

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-19
      • 2021-07-23
      • 1970-01-01
      • 2016-01-03
      相关资源
      最近更新 更多