有什么办法可以根据手机运行的操作系统版本来加载课程吗? 例如: 我制作了一个需要1.6+ Android的应用程序。有没有办法根据手机运行的操作系统加载一个类或另一个类?我特意问这个联系方式。 数据库从1.6更改为2.0,旧版本不检索新OS手机上的联系人。我仍然希望保留我的1.6要求,但与此同时我想要2.0+手机来访问应用程序的联系人部分。
我可以制作2个API,以某种方式将它们与应用程序一起打包并决定我选择导入它吗?
答案 0 :(得分:7)
是的! Here is a sample project说明了这项技术。
步骤1:创建一个接口或抽象类,描述您尝试在所有API版本中获取的数据。
步骤2:创建接口/抽象类的具体实现/子类,每个API级别一个。
步骤3:在某处,检测您需要哪一个并使用它。在我的示例中,我通过查看静态上下文中的android.os.Build.SDK
值并创建我的“bridge”类的单例来完成此操作。
答案 1 :(得分:3)
您可以检查操作系统版本,然后使用以下内容加载正确的类:
import android.os.Build.VERSION;
....
...
if(VERSION.SDK.equals("4")){ //Android 1.6
//Load an instance of your Class for android 1.6
} else {
//Load an instance of your Class for android > 1.6
}