【问题标题】:Are there non-compat classes on Android?Android上有不兼容的类吗?
【发布时间】:2017-02-06 09:31:31
【问题描述】:

我开始涉足 Android,已经做了一段时间的 iOS 开发人员,我发现对向后兼容性的痴迷有点令人困惑。特别是,我似乎无法理解为什么官方文档提到兼容/支持类而不是适当的类——例如,android.support.v4.view.ViewPager

我了解向后兼容性,但我一直将其视为您别无选择时所做的一种事情。我也很清楚,Android 和 iOS 在向后兼容方面有着截然不同的方法,这是有充分理由的。

所以,我的问题是:是否存在仅作为兼容/支持存在的类?如果我不关心 bw-compat 并且想做一些事情,就好像 Lollipop(或 Marshmallow 或 Nougat)是 Android 的第一个版本?特别是,我遇到了不支持正确存在的 PreferenceFragment 问题。

【问题讨论】:

    标签: android ios android-support-library


    【解决方案1】:

    回答您的一个问题:有些类仅存在于压缩包/支持包中,并未添加到 SDK。

    以ViewPager为例,你可以查看这些线程以获得详细解释https://stackoverflow.com/a/21284814/1865583https://stackoverflow.com/a/9958041/1865583

    如果可以从上面的帖子中引用@CommonsWare:“Android 支持包不仅适用于较新 API 的反向移植。它也适用于其他类,无论出于何种原因,未添加到 SDK 中,例如 ViewPager 及其支持类。”

    【讨论】:

    • 谢谢。而且,有什么方法可以判断任何给定类是否有不支持的版本?
    • 我通常在通过代码编辑器导入的时候注意给定的类包名。通过这种方式,您可以查看它是否在非支持包中提供了替代方案……随着您花更多时间在 Android 上,您也会掌握它的窍门。
    猜你喜欢
    • 2015-02-20
    • 2021-11-26
    • 2017-01-28
    • 1970-01-01
    • 2017-02-22
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多