如果一个元素在API级别11中被弃用,那么它是否被认为是一个已弃用的元素(如果可以帮助则不被使用),其API级别低于11或者仅为11或更高?如果我正在为API级别8编写应用程序,我是否应该关注API级别11中已弃用的元素?
这对我来说有点混乱。在Android API中,例如,对于SQLiteDatabase类,方法setLockingEnabled(boolean lockingEnabled)说: 此方法在API级别16中已弃用。此方法现在不执行任何操作。不要使用。
这是否意味着它对下面的所有API级别或仅仅是API级别16及以上都没有任何作用?
如果您正在开发专业的商业软件,那么避免被弃用的元素有多重要?
答案 0 :(得分:5)
如果某个元素在API级别11中已弃用,那么在API级别低于11还是仅为11及以上时,它是否被视为已弃用的元素(如果可以帮助则不被使用)?
11岁及以上。
Android中的“弃用”通常意味着“我们认为您应该考虑更好的解决方案,但我们会尽可能地支持这种旧方法”。虽然你应该努力停止使用已弃用的方法,但这不是你应该恐慌的事情,而是放下所有要立即解决的问题,而且在弃用之前,你经常需要旧的Android操作系统级别的弃用材料如果我正在为API级别8编写应用程序,我是否应该关注API级别11中已弃用的元素?
这是否意味着它对下面的所有API级别或仅仅是API级别16及以上都没有任何作用?
既然他们说“现在什么都不做”,可以说以前做了一些事情(非一无所有?)。
如果您正在开发专业的商业软件,那么避免被弃用的元素有多重要?
在这种方法的特定情况下,我会跳过使用它,但这更多是由于这种方法的性质。
作为一个反例,设置偏好设置屏幕的方式在API级别11+(PreferenceFragment
和PreferenceActivity
)与之前(仅PreferenceActivity
)之间存在很大差异。您无法避免旧设备上已弃用的元素,因为没有可行的替代方案(例如,PreferenceFragment
的后端)。
答案 1 :(得分:1)
来自Docs
用于标记程序员不应再使用的程序元素的注释类型。如果使用已弃用的程序元素,编译器会发出警告。
我建议尽可能不要使用它们。当你这样做时,我会考虑到这个对象,方法等......在将来的某个时候可能不起作用。在构建应用程序时,您通常希望构建它,以便将来可以轻松维护和灵活。出于这个原因,如果没有必要,我不会使用它们,而且几乎总有另一种方法可以做某事
答案 2 :(得分:1)
值得一提的是,有时一种方法可能会变得“未被贬低”(如果这是一个真正的词)。例如,WebSettings setLayoutAlgorithm方法在4.0.1中已弃用,稍后在4.0.3中恢复,只是其中一个算法已弃用。
但一般来说,在不推荐使用API之前对API版本使用该方法是安全的,之后不推荐使用。请注意,它可能并不总是那么简单。
答案 3 :(得分:0)
当一个项目被弃用时,这意味着它不应再在不推荐使用它的API级别之后使用。将它用于早期API级别是安全的,但如果您正在为较新的API级别开发它,则不应使用它。不推荐使用的方法/元素/等。可以在将来删除,因此虽然它现在可能仍然有效,但您将来可能会得到不需要的结果。
当它说该方法现在没有做任何意味着它不再在API 16及更高版本中做任何事情时(或者16以上不能记住但是为了安全我会说16+)。