【问题标题】:Deprecated Classess on AndroidAndroid 上已弃用的 Classess
【发布时间】:2014-06-07 09:15:09
【问题描述】:

我一直在 Android 4.0 上制作项目,但我遇到了一些较新版本的 Android 已弃用的类型。已弃用的东西的名称上出现了一条黑线。然而,尽管有黑线和弃用警告,我仍然可以使用那些弃用的类并且项目运行成功。我对弃用感到困惑。如果它们已被弃用,我该如何继续使用它们?弃用的确切含义是什么?如果我在项目中使用已弃用的类,项目用户可能会遇到哪些缺点?

感谢阅读。

【问题讨论】:

    标签: android deprecated


    【解决方案1】:

    不推荐使用意味着它们可能会在平台的未来版本中被删除,因此您应该开始考虑在您的代码中替换它们的使用。

    如果他们只是删除类型,那么构建就会中断,人们会不高兴!

    就它们对应用程序用户的影响而言,根本不应该有任何影响。但是,当您将软件更新到 Android 的下一个版本时,您可能会发现已弃用的类型不再存在,并且您的构建将中断。

    维基百科在这里有一篇很好的文章:http://en.wikipedia.org/wiki/Deprecation

    【讨论】:

    • 这意味着我必须为我的项目的未来修改我以前拥有的 Android 知识。谢谢尼克。
    【解决方案2】:

    长话短说,仅在 API 运行太低而无法支持更新方法的系统上使用已弃用的方法。这样,您可以支持更广泛的设备,而仅在必须支持旧设备时才使用已弃用的方法。下面的代码示例。

        int sdk = android.os.Build.VERSION.SDK_INT;
        if(sdk < android.os.Build.VERSION_CODES.JELLY_BEAN) {
            setBackgroundDrawable(); // deprecated method for older devices
        } else {
            setBackground();  // updated method for newer devices
        }
    

    干杯:)

    【讨论】:

      【解决方案3】:

      不要忘记这些类被弃用可能是有原因的。它可能会影响您的应用程序的安全性或稳定性。 如果您发现存在错误或缺陷,它可能永远不会被纠正。

      如果有的话,还请查看他们建议改用哪些类。

      关于您对较新 Android 版本的担忧:

      Android 版本向后兼容

      由 Android 工程师在有关其他已弃用类的主题中确认 here。因此,您应该能够在较新的版本上使用您的应用。

      如果您希望您的应用程序与旧版本的 android 兼容,同时在代码中使用“新”类,请查看 this related topic

      【讨论】:

        【解决方案4】:

        通常某些类型的类已被弃用,但您仍然可以继续使用它们,因为要更新应用程序并实现这些类,您必须修改源代码。

        但是,如果您发现有未使用的类比即将推出的应用程序不再使用它们要好,我个人将其与ClipboardManager 一起使用,并使用以前仍然可以使用的应用程序。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-12-25
          • 2021-08-31
          • 2015-09-18
          • 2018-02-11
          • 2018-03-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多