我做的是创建两个.java文件。一个可以在1.5手机(SDK3)上编译和运行,然后在2.0上运行的一个(SDK5)所以对于这个例子,我将调用1.5文件ExampleOld和新的一个示例。我想知道我是否只是做了这样的活动,如果它有点像“门户”,并根据SDK选择要加载的活动,所以没有崩溃或编译错误。我应该对我的代码进行任何更改吗?也许那里的任何人都必须这样做。谢谢!
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);
}
}
}
答案 0 :(得分:2)
如果用户正在运行较新的Android版本,那么你正在尝试保持向后兼容性,同时使用新的API。最好的方法是遵循Google发布的here教程。这可以避免任何验证问题,并且确实是做imho的最好方法。
答案 1 :(得分:0)
我会将此决定放在工厂类中,以避免在代码库中出现这些if-else语句。