gpt4 book ai didi

android - 如何使 ICS 应用程序(API 15)与 Jellybean(API 16)兼容?

转载 作者:太空宇宙 更新时间:2023-11-03 13:00:25 26 4
gpt4 key购买 nike

我正在构建适用于 Android 的应用程序,但我希望能够至少使用 4.0.3 功能。我目前并不担心为使用 4.0 及以下版本的用户发布此版本。

基本上,我的问题如下:

  • 如果我已经有一个项目,其 Eclipse 中的最低 SDK 设置为 4.0.3,最大值设置为相同,我可以更改最大值吗?如果是,怎么办?

  • 4.0.3 应用程序是否完全兼容 4.1 应用程序?如果不是,有什么好的解决方法?如果我在 C/C++ 中这样做,答案将是预处理器指令(例如,#ifdef ANDROID_OS_4_1//do stuff for 4.1 only #endif)。然而,我知道 Java 中没有这样的等价物,更不用说 Android 了。

最佳答案

要针对 JellyBean 进行构建,您可以使用 <uses-sdk /> AndroidManifest 中的标签(就在 <application /> 标签上方):

<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="16"/>

通过使用 16 (JellyBean) 的 targetSdkVersion,您可以访问所有新的 API

然后在运行时,您可以检查应用运行的 Android 版本,并根据该版本执行操作。我在我的应用程序中使用实用程序类来执行此操作:

public class Api {
public static final int LEVEL = Build.VERSION.SDK_INT;
public static final int FROYO = Build.VERSION_CODES.FROYO;
public static final int GINGERBREAD = Build.VERSION_CODES.GINGERBREAD;
public static final int GINGERBREAD_MR1 = Build.VERSION_CODES.GINGERBREAD_MR1;
public static final int HONEYCOMB = Build.VERSION_CODES.HONEYCOMB;
public static final int ICS = Build.VERSION_CODES.ICE_CREAM_SANDWICH;
public static final int JELLYBEAN = Build.VERSION_CODES.JELLY_BEAN;

public static boolean isMin(int level) {
return LEVEL >= level;
}
}

然后在您的代码中您可以执行以下操作:

if(Api.isMin(Api.JELLYBEAN) )
doJellybeanStuff();
else if(Api.isMin(Api.ICS) )
doIcsStuff();
else
doOldStuff();

关于android - 如何使 ICS 应用程序(API 15)与 Jellybean(API 16)兼容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12416164/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com