0

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

}
4

2 回答 2

2

如果用户运行的是较新的 android 版本,您正在做的事情(如果我错了,请纠正我)在使用新 API 的同时尝试保持向后兼容性。最好的方法是按照 Google 在此处发布的教程进行操作。这避免了任何验证问题,并且确实是做事情的最佳方式恕我直言。

于 2010-09-01T23:23:54.290 回答
0

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

于 2010-09-01T23:24:16.157 回答