5

我只是一个初学者,但我对支持库有一些疑问。

  1. 每次谷歌团队添加新的支持版本时,它都会弃用新版本中的使用,因此我们必须再次重做代码以支持新的 API 级别。不能是这样吗,你可以拥有这个库但是你不会获得额外的功能。而不仅仅是弃用整个工作?因此,在制作 android 应用程序时需要做很多额外的工作。
  2. 为什么 PreferenceFragment 在Android P中被弃用,两个库PreferenceFragment 和 PreferenceFragmentCompat的支持版本是什么,还有哪些附加功能

Android平台很棒,但是这东西很难理解。如果开发人员制作了一个应用程序,那么当 android 发布新版本时它会运行的保证是什么?随着每个版本的发布,某些功能或整个库都会被弃用。

4

1 回答 1

4

每次谷歌团队添加新的支持版本时,它都会弃用新版本中的使用,因此我们必须再次重做代码以支持新的 API 级别。

事实并非如此。Android 中的“已弃用”通常意味着“我们有一些我们希望您使用的东西”。因此,虽然最终您应该尝试摆脱已弃用的 API,但“最终”可能需要几年时间。

为什么 PreferenceFragment 在 Android P 中被弃用

本机android.preference.PreferenceFragment在 Android 9.0 中已弃用,主要是因为它继承自android.app.Fragment,而在 Android 9.0 中已弃用。片段代码多年来有很多错误。谷歌正试图引导开发人员使用库提供的片段实现,因为库可以保持最新,而旧的 Android 设备(不幸的是)没有更新。

如果您愿意,没有什么可以阻止您android.preference.PreferenceFragment在 Android 9.0 中使用。理想情况下,随着时间的推移,您会停止使用它,但您不需要放弃所有内容并在明天更改您的代码。

两个库 PreferenceFragment 和 PreferenceFragmentCompat 的支持版本是什么

AFAIKandroid.support.v14.preference.PreferenceFragment也应标记为已弃用,因为它也继承自android.app.Fragment.

android.support.v7.preference.PreferenceFragmentCompat扩展自android.support.v4.app.Fragment,所以 AFAIK 这是你应该在短期内使用的。

目前,整个偏好片段的内容有点混乱——我希望谷歌能解决这个问题并提供更清晰的说明,作为androidx未来几个月迁移的一部分。

于 2018-08-23T10:57:45.057 回答