java - 尝试创建一个 Adapter 类来根据固件版本选择 .Java 文件

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

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

相关文章:

java - 尝试使用匿名凭证从 AWS S3 中列出对象,但它仍在检查 ~/.aws/credentials

java - 单击旁边的自定义对话框会消失

search - Java 库方法在集合中查找项目并检查是否完全匹配

android - 防止 Recyclerview 失去焦点

android - 使用标签和使用按钮(试图让它看起来像标签)有什么区别?

android - 构建 Android Studio 示例时出错

java - SLF4j 解析多个绑定(bind)

git - 如何在 OSS 项目中宣布向后不兼容的更改?

android - 旧版 Android 操作系统不支持 getSize(),getWidth()/getHeight() 已弃用

ios - 试图让 iOS 13 项目与 iOS 12 兼容