我所做的是创建两个 .java 文件。一个可以在 1.5 手机 (SDK3) 上编译和运行,另一个可以在 2.0(SDK5) 上运行。因此,在本示例中,我将 1.5 文件称为“ExampleOld”,将新文件称为“Example”。我想知道我是否只是制作了这样的 Activity ,如果它的工作方式有点像“门户”,并根据 SDK 选择要加载的 Activity ,这样就不会出现崩溃或编译错误。我应该对我的代码进行任何更改吗?也许任何人以前都必须这样做。谢谢!
package com.my.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
public class ExamplePortal extends Activity {
int sdk=new Integer(Build.VERSION.SDK).intValue();
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (sdk<5) {
Intent v = new Intent(this, ExampleOld.class);
startActivity(v);
}
else {
Intent v = new Intent(this, Example.class);
startActivity(v);
}
}
}
最佳答案
您正在做的事情(如果我错了请纠正我)是在用户运行较新的 Android 版本时尝试保持向后兼容性,同时使用新的 API。最好的方法是遵循 Google 发布的教程 here 。这可以避免任何验证问题,而且确实是最好的方法。
关于java - 尝试创建一个 Adapter 类来根据固件版本选择 .Java 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3622722/