在将最小API设置为7时,如何使用更高的API

时间:2015-09-05 14:01:22

标签: android api

Android studio有很多API。但其中一些已经从API 13或API 17或API 20或更高的API中添加。如果我将最小API设置为Entity.dll,我是否可以在我的项目中使用更高的API并且它们可以在android 2.1中运行良好?如果答案是肯定的,请解释我该怎么做?

4 个答案:

答案 0 :(得分:3)

看看这里:http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

我的建议是将TargetSdkVersion始终设置为最新的api版本。 minSdkVersion取决于您希望至少支持哪个平台。如果要在方法中使用较新的api调用,可以使用

注释它们
  

@TargetApi(Build.version)

但请注意,这些调用仅适用于具有相同或更高api版本的设备(并且您需要在调用此类方法之前自行检查,否则应用程序可能会崩溃)。

请注意,对于某些API调用,可以使用android兼容包(http://developer.android.com/tools/support-library/index.html),使一些较新的调用/设计库可用于较旧的API。

答案 1 :(得分:2)

我认为这会回答你的一些问题。简而言之,您需要确定要为编译和运行时设置Target FrameworkMinimum Android VersionTarget Android Version的SDK版本。

然后,在代码中,您将能够执行此类操作,仅根据SDK版本使用代码:

if (Android.OS.Build.Version.SdkInt >= Android.OS.BuildVersionCodes.Lollipop) 
{
   // Do things the Lollipop way
}
else
{
    // Do things the pre-Lollipop way
}

https://developer.xamarin.com/guides/android/application_fundamentals/understanding_android_api_levels/

答案 2 :(得分:1)

支持库为您提供了在您的过去版本中使用较新API的方法。但它们具有有限的功能集。

http://developer.android.com/tools/support-library/index.html

不同的支持库提供不同的features。他们的后向支持通常用后缀表示 例如v4支持库支持UI,可访问性,内容和应用程序组件的功能,直到API版本4.使用支持库被视为将功能支持扩展到以前版本的最佳实践。 CardView和Design Support Library等支持库可帮助您将Material设计扩展到以前的版本。 v7 mediarouter库提供了控制媒体通道和流从当前设备到外部屏幕,扬声器和其他目标设备的路由的强大功能。由于这些库具有特定的用例集。您可以轻松地使这些功能向后兼容,但是如果API不是由支持库提供的,则必须根据Build.Version

编写方法。

答案 3 :(得分:0)

您不能在低版本的android中使用高级API。这是直截了当的。假设某种程度(甚至不可能)你能够将项目设置最小值编译为7并使用一些只属于更高级别的API,当你的应用程序在设备上运行并尝试执行API时,OS会发现没有功能/ API,您的应用程序将崩溃。 有一件事是,如果API有一些像我们在支持库中那样的支持,那么你肯定可以在这些应用程序中使用它们。希望它能清除你的问题。