【问题标题】:How can I use the singleton pattern in an Android project? [closed]如何在 Android 项目中使用单例模式? [关闭]
【发布时间】:2022-04-20 17:04:06
【问题描述】:

我知道singleton,但我不能在 Android 项目中使用它。我是 Android 初学者。

我们如何以及在哪里可以在 Android 项目中使用单例来处理大数据?我已经将它用于简单的值。

【问题讨论】:

  • 在 SO 上提出的问题需要针对具体问题。发布有关您正在从事的项目的一些代码或更多信息。如需更多信息,请参阅FAQ
  • 首先,Singleton 是一种模式,而不是一种方法。其次,在 StackOverflow 上,您通常会发布您在开发某些东西时遇到的问题。在您的情况下,您应该首先尝试实现单例模式,如果遇到问题,只需发布​​代码 sn-ps 并寻求帮助。
  • 正如其他人所说,您需要发布一个特定的问题。否则我会推荐谷歌。

标签: java android singleton


【解决方案1】:

Android 中的单例与 Java 中的单例相同:

一个基本的单例类示例:

public class AppManager
{
    private static AppManager    _instance;

    private AppManager()
    {

    }

    public synchronized static AppManager getInstance()
    {
        if (_instance == null)
        {
            _instance = new AppManager();
        }
        return _instance;
    }
}

【讨论】:

  • 其实是一个懒惰的单例,需要说明的是,它不是线程安全的!
  • @Fildor 如果您还可以发布解决方案,如果您解释如何在 Java 中创建一个也是线程安全的 Singleton 类,这将是有意义的,就像这样您的评论根本没有帮助跨度>
  • @Raffaeu 已经有 6 人认为是。我只是想添加信息。答案仍然有效且正确。所以没必要自己给。
【解决方案2】:
  1. 对于“大数据”,请使用数据库。 Android 为您提供 SQLite。
  2. 当然,您可以在 Android 中使用单例。是什么让您认为自己做不到?

有关单例模式的更多信息,请阅读Singleton pattern

有关 Android 中 SQLite 的更多信息,请阅读:Data and file storage overview

【讨论】:

  • 答案中的例子是错误的。它不是线程安全的。没有同步。您可以使用枚举搜索单例,以获得最安全的单例实现。
  • 我自己没有举个例子@MattQuigley?您是否评论了错误的答案,或者您在谈论关于单身人士的维基百科文章?
  • 嗯抱歉错误的答案! ://
猜你喜欢
  • 1970-01-01
  • 2013-08-07
  • 2011-06-29
  • 2020-02-22
  • 2018-06-30
  • 1970-01-01
  • 2013-05-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多