尝试使Adapter类选择.Java文件,具体取决于固件版本

时间:2010-09-01 23:00:02

标签: java android backwards-compatibility android-1.5-cupcake

我做的是创建两个.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);
    } 
}

}

2 个答案:

答案 0 :(得分:2)

如果用户正在运行较新的Android版本,那么你正在尝试保持向后兼容性,同时使用新的API。最好的方法是遵循Google发布的here教程。这可以避免任何验证问题,并且确实是做imho的最好方法。

答案 1 :(得分:0)

我会将此决定放在工厂类中,以避免在代码库中出现这些if-else语句。