您好,我刚刚对不同版本的 Android 之间的兼容性及其工作方式有疑问。我最近开始了 Android 编程,并一直在为 Ice Cream Sandwich 4.0.2 开发一个应用程序,这是我正在使用的源。现在,在这个项目完成一半的时候,我开始怀疑这是否适用于较低版本的 Android,比如 Gingerbread。从我的猜测来看,我认为它不会起作用。我怎样才能使它与 Gingerbread 兼容并且仍然使用 Ice Cream Sandwich 附带的功能,例如 Action Overflow 或任何所谓的 Holo 主题。我是否制作了我的应用程序的 2 个版本,或者是否有某种方法可以让应用程序通过条件来确定手机或平板电脑正在运行的 Android 版本并从那里开始?先感谢您!
3 回答
您可以使您的应用程序与它兼容,Gingerbread
这将适用于 Gingerbread 以及Ice Cream Sandwich
Android 提供前向兼容性。
如果您在较低版本中开发了您的应用程序,那么它肯定可以在上述版本上运行。
要检测当前版本,请参阅此
您仍然可以在一个应用程序中包含所有内容。除非您自己自定义皮肤,否则您可能不一定能够在 Gingerbread 上使用 Holo 主题。至于处理不同的功能,我会读到:
http://developer.android.com/training/basics/supporting-devices/platforms.html
此外,兼容性库将成为您的朋友。我会研究 V4 支持库以及 ActionBarSherlock。
是的,您绝对可以创建一个可在多个 Android 版本上运行的应用程序。正如您可能想象的那样,您必须将大部分代码编写到您想要支持的最旧版本的 Android 上。您想从较新版本中使用的任何功能都必须经过仔细考虑。对于某些功能,您可以选择仅在较新版本的操作系统上支持它们(例如,当它们真的只有意义或真的只有在最新的硬件上才有可能时)。对于其他功能,您需要研究在旧平台上复制所需行为的方法(例如 ActionBar、Fragments、Animators)。
有很多资源可用于帮助实现向后兼容性。特别是,您可能想看看这些: