【发布时间】:2014-06-07 09:15:09
【问题描述】:
我一直在 Android 4.0 上制作项目,但我遇到了一些较新版本的 Android 已弃用的类型。已弃用的东西的名称上出现了一条黑线。然而,尽管有黑线和弃用警告,我仍然可以使用那些弃用的类并且项目运行成功。我对弃用感到困惑。如果它们已被弃用,我该如何继续使用它们?弃用的确切含义是什么?如果我在项目中使用已弃用的类,项目用户可能会遇到哪些缺点?
感谢阅读。
【问题讨论】:
标签: android deprecated
我一直在 Android 4.0 上制作项目,但我遇到了一些较新版本的 Android 已弃用的类型。已弃用的东西的名称上出现了一条黑线。然而,尽管有黑线和弃用警告,我仍然可以使用那些弃用的类并且项目运行成功。我对弃用感到困惑。如果它们已被弃用,我该如何继续使用它们?弃用的确切含义是什么?如果我在项目中使用已弃用的类,项目用户可能会遇到哪些缺点?
感谢阅读。
【问题讨论】:
标签: android deprecated
不推荐使用意味着它们可能会在平台的未来版本中被删除,因此您应该开始考虑在您的代码中替换它们的使用。
如果他们只是删除类型,那么构建就会中断,人们会不高兴!
就它们对应用程序用户的影响而言,根本不应该有任何影响。但是,当您将软件更新到 Android 的下一个版本时,您可能会发现已弃用的类型不再存在,并且您的构建将中断。
维基百科在这里有一篇很好的文章:http://en.wikipedia.org/wiki/Deprecation
【讨论】:
长话短说,仅在 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
}
干杯:)
【讨论】:
不要忘记这些类被弃用可能是有原因的。它可能会影响您的应用程序的安全性或稳定性。 如果您发现存在错误或缺陷,它可能永远不会被纠正。
如果有的话,还请查看他们建议改用哪些类。
关于您对较新 Android 版本的担忧:
Android 版本向后兼容
由 Android 工程师在有关其他已弃用类的主题中确认 here。因此,您应该能够在较新的版本上使用您的应用。
如果您希望您的应用程序与旧版本的 android 兼容,同时在代码中使用“新”类,请查看 this related topic。
【讨论】:
通常某些类型的类已被弃用,但您仍然可以继续使用它们,因为要更新应用程序并实现这些类,您必须修改源代码。
但是,如果您发现有未使用的类比即将推出的应用程序不再使用它们要好,我个人将其与ClipboardManager 一起使用,并使用以前仍然可以使用的应用程序。
【讨论】: