Android编程和不同版本之间的兼容性

时间:2012-07-19 14:10:46

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

您好我刚刚对Android的不同版本之间的兼容性及其工作方式提出了疑问。我最近开始进行Android编程,并且一直在为Ice Cream Sandwich开发应用程序4.0.2是我正在使用的源代码。现在,在完成这个项目的过程中,我开始怀疑这是否适用于较低版本的Android(如Gingerbread)。从我猜测我不认为它会起作用。我如何使这与姜饼兼容,并仍然使用冰淇淋三明治附带的功能,如动作溢出或任何被称为和Holo主题。我是否制作了我的应用程序的2个版本,或者是否有某种方式可以让应用程序通过条件来确定手机或平板电脑运行的Android版本并从那里开始?提前谢谢!

3 个答案:

答案 0 :(得分:1)

您可以使您的应用与Gingerbread兼容,它既适用于Gingerbread,也适用于Ice Cream Sandwich

Android提供向前兼容性。

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

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

答案 1 :(得分:1)

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

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

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

答案 2 :(得分:1)

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

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

  1. Support Library
  2. ActionBarSherlock
  3. NineOldAndroids