我现在正在开发基于最新API(15 ICS)的15活动Android应用程序。现在我发现应用程序的主要功能主义者即使对于android v4支持也不向后兼容,例如:
1片段交易动画 2 - 在sharedPref中putStringSet的能力 3 - 使用片段的mapActivity
我考虑为EACH类的旧操作系统制作第二个版本,这个操作系统存在不兼容问题(大约10个),所以如果我检测到运行应用程序的设备已经老了,我会使用它们。但是,我确信这是一种愚蠢的方式,并且有更好的方法。
使代码与API 7及更高版本兼容的最佳方法是什么,而不会让功能提供更高的API(至少用于较新的设备)
答案 0 :(得分:0)
您可以在运行时检查android中的API级别,并根据API级别启用所需的功能。
如下所示。
int currentapiVersion = android.os.Build.VERSION.SDK_INT;
if (currentapiVersion >= android.os.Build.VERSION_CODES.ICE_CREAM_SANDWICH){
// Do something for ICS and above versions
} else{
// do something for phones running an SDK before ICS
}
此外,您可以将版本限定符添加到资源文件夹,例如drawable-v15(如果设备API级别为15,将提取drawable)
检查此LINK以获取有关如何为资源指定所需限定符的更多信息
使用此功能时,在最新固件设备上启动时将启用可用的最新功能,否则启用向后兼容性。