【问题标题】:Android programming and compatability between different versionsAndroid编程及不同版本之间的兼容性
【发布时间】:2012-07-19 14:10:45
【问题描述】:

您好,我刚刚对不同版本的 Android 之间的兼容性及其工作方式有疑问。我最近开始了 Android 编程,并且一直在为 Ice Cream Sandwich 4.0.2 开发一个应用程序,这是我正在使用的源。现在,在这个项目完成一半的时候,我开始怀疑这是否适用于较低版本的 Android,例如 Gingerbread。从我的猜测来看,我认为它不会起作用。我怎样才能使它与 Gingerbread 兼容并且仍然使用 Ice Cream Sandwich 附带的功能,例如 Action Overflow 或任何所谓的 Holo 主题。我是否制作了我的应用程序的 2 个版本,或者是否有某种方法可以让应用程序通过条件来确定手机或平板电脑正在运行的 Android 版本并从那里开始?提前谢谢!

【问题讨论】:

    标签: android compatibility android-4.0-ice-cream-sandwich android-2.3-gingerbread


    【解决方案1】:

    是的,您绝对可以创建一个在多个 Android 版本上运行的应用程序。正如您可能想象的那样,您必须将大部分代码编写到您想要支持的最旧版本的 Android 上。您想从较新版本中使用的任何功能都必须经过仔细考虑。对于某些功能,您可以选择仅在较新版本的操作系统上支持它们(例如,当它们真的只有意义或真的只有在最新硬件上才有可能时)。对于其他功能,您需要研究在旧平台(例如 ActionBar、Fragments、Animators)上复制所需行为的方法。

    有很多资源可用于帮助实现向后兼容性。特别是,您可能想看看这些:

    1. Support Library
    2. ActionBarSherlock
    3. NineOldAndroids

    【讨论】:

      【解决方案2】:

      您可以使您的应用与Gingerbread 兼容,它可以在 Gingerbread 和 Ice Cream Sandwich 上运行

      Android 提供向前兼容性。

      如果您在较低版本中开发了您的应用程序,那么它肯定可以在以上版本上运行。

      要检测当前版本,请参阅this

      【讨论】:

        【解决方案3】:

        您仍然可以在一个应用中包含所有内容。除非您自己自定义皮肤,否则您可能不一定能够在 Gingerbread 上使用 Holo 主题。至于处理不同的功能,我会读到:

        http://developer.android.com/training/basics/supporting-devices/platforms.html

        此外,兼容性库将成为您的朋友。我会研究 V4 支持库以及 ActionBarSherlock。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-05-05
          • 1970-01-01
          • 1970-01-01
          • 2022-01-24
          • 2019-04-29
          • 1970-01-01
          • 2012-10-22
          相关资源
          最近更新 更多