Android 基于SDK版本加载类

Android 基于SDK版本加载类,android,class,sdk,load,version,Android,Class,Sdk,Load,Version,有没有办法根据手机运行的操作系统版本加载类? 例如: 我制作了一个需要1.6+Android的应用程序。有没有办法根据手机运行的操作系统加载一个类或另一个类?我是专门为联系人问这个问题的。 数据库已从1.6更改为2.0,旧版本无法在新操作系统手机上检索联系人。我仍然希望保留我的1.6要求,但同时我希望2.0+手机可以访问应用程序的联系人部分 因此,我可以制作2个API,以某种方式将它们打包到应用程序中,并即时决定选择导入哪个API吗?是的!说明该技术 步骤1:创建一个接口或抽象类,描述在所有AP

有没有办法根据手机运行的操作系统版本加载类? 例如: 我制作了一个需要1.6+Android的应用程序。有没有办法根据手机运行的操作系统加载一个类或另一个类?我是专门为联系人问这个问题的。 数据库已从1.6更改为2.0,旧版本无法在新操作系统手机上检索联系人。我仍然希望保留我的1.6要求,但同时我希望2.0+手机可以访问应用程序的联系人部分

因此,我可以制作2个API,以某种方式将它们打包到应用程序中,并即时决定选择导入哪个API吗?

是的!说明该技术

步骤1:创建一个接口或抽象类,描述在所有API版本中试图获取的数据

步骤2:创建接口/抽象类的具体实现/子类,每个API级别一个


第三步:在某个地方,找出你需要的并使用它。在我的示例中,我通过在静态上下文中查看android.os.Build.SDK值并创建我的桥接类的单例来实现这一点。

您可以检查操作系统版本,然后使用如下内容加载正确的类:

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
}

不间断电源!这个答案比我的答案更完整!学分归你