选择什么版本?

时间:2012-04-22 16:36:08

标签: android android-version

安装SDK时,我读到了97%的手机支持Android 2.1 我的问题是,当我打开一个新项目选择将其编译为Android 2.1时,我应该这样做吗? 为2.1编写的应用程序是否适用于较新版本? 相反的工作会相反吗?如果我发展到4.0.3,它会更老吗?

谢谢, 埃里克

2 个答案:

答案 0 :(得分:5)

  

我的问题是,在打开新项目时,我是否应该选择将其编译为Android 2.1?

您指定的构建目标(“选择将其编译为”)对Android的哪些版本可以运行您的应用程序没有直接影响。

  

为2.1编写的应用程序是否适用于较新版本?

对“for”一词的任何合理解释,是的。

  

如果我发展到4.0.3,它会在较旧的情况下工作吗?

与Agarwal的答案一样,这取决于你对“to”的意思。

例如,假设您要使用CalendarContract。这个类是在API Level 14(a.k.a.,Android 4.0)中添加的。只要您在Android 4.0+设备上使用CalendarContract,您就可以了。但是,如果您尝试在旧设备上使用CalendarContract,则会崩溃,因为固件中不存在该类。

因此,您可以有条件地使用更新的API,只要您确保只在运行较新版本Android的设备上使用这些较新的API即可。通常,这是通过版本保护块完成的,例如:

if (Build.VERSION.SDK_INT>=Build.VERSION_CODES.HONEYCOMB) {
  // do something that requires API Level 11+ here
}

答案 1 :(得分:0)

如果您开发到4.0.3,那么它将不会安装在旧版本的设备上。 如果你为2.1开发它将在新版本上正常工作。但是,如果你使用你不能获得4.0.3功能。