درک لول های API اندروید

محیط Xamarin.Android تنظیمات مختلفی برای ورژن های اندروید و API آنها و سازگاری اپ با نسخه های مختلف اندروید دارد در این نوشته نحوه تنظیم و تغییر این تنظیمات را برای سازگاری اپ با اکثر ورژن های اندروید بررسی میشود.
تعیین لول های اندروید
برای تعیین لول های اندروید در پنجره solution explorer روی گزینه Properties دوبار کلیک کنید
 

در پنجره باز شده سه گزینه زیر را میبینید.

Target Framework
Minimum Android Version
Target Android Version



Target Framework:نسخه ای از اندروید که پروژه با آن کامپایل خواهد شد
Minimum Android Version:نسخه ای از اندروید که اپ در نسخه های کمتر از آن اجرا نخواهد شد.(قابل چک در ران تایم)
Target Android Version:نسخه اندروید موردنظر برای اجرای اپ(قابل چک در ران تایم)

نسخه Target Framework باید بزرگتر یا مساوی ۲ مشخصه دیگر باشد
کاربرد مشخصه های API:
فرض کنید شما اپی مینویسید که از متد  NotificationBuilder.SetCategory  استفاده میکند که این متد فقط در اندروید های ۵ به بالا موجود است اما میخواهید کاری کنید که اپ در اندروید های زیر ۵ هم اجرا شود. بدلیل قابل چک بودن این مشخصه ها در ران تایم به راحتی میتوان چک کرد که اگر نسخه کمتر از موردنظر باشد کد اجرا نشود.
نسخه های اندروید
هر نسخه از اندروید با ۳ نام بیرون می آید:

ورژن : اندروید ۴٫۴
نسخه ای پی آی : ۱۹
نام یک دسر یا شیرینی : Kitkat




نسخه اندروید
تاریخ انتشار
لول API
نام
Build Version Code




Android 6.0
August 2015
۲۳
Marshmallow
Android.OS.BuildVersionCodes.Marshmallow


Android 5.1
March 2015
۲۲
Lollipop
Android.OS.BuildVersionCodes.LollipopMr1


Android 5.0
November 2014
۲۱
Lollipop
Android.OS.BuildVersionCodes.Lollipop


Android 4.4W
June 2014
۲۰
Kitkat Watch
Android.OS.BuildVersionCodes.KitKatWatch


Android 4.4
October 2013
۱۹
Kitkat
Android.OS.BuildVersionCodes.KitKat


Android 4.3
July 2013
۱۸
Jelly Bean
Android.OS.BuildVersionCodes.JellyBeanMr2


Android 4.2-4.2.2
November 2012
۱۷
Jelly Bean
Android.OS.BuildVersionCodes.JellyBeanMr1


Android 4.1-4.1.1
June 2012
۱۶
Jelly Bean
Android.OS.BuildVersionCodes.JellyBean


Android 4.0.3-4.0.4
December 2011
۱۵
Ice Cream Sandwich
Android.OS.BuildVersionCodes.IceCreamSandwichMr1


Android 4.0-4.0.2
October 2011
۱۴
Ice Cream Sandwich
Android.OS.BuildVersionCodes.IceCreamSandwich


Android 3.2
June 2011
۱۳
Honeycomb
Android.OS.BuildVersionCodes.HoneyCombMr2


Android 3.1.x
May 2011
۱۲
Honeycomb
Android.OS.BuildVersionCodes.HoneyCombMr1


Android 3.0.x
February 2011
۱۱
Honeycomb
Android.OS.BuildVersionCodes.HoneyComb


Android 2.3.3-2.3.4
February 2011
۱۰
Gingerbread
Android.OS.BuildVersionCodes.GingerBreadMr1


Android 2.3-2.3.2
November 2010
۹
Gingerbread
Android.OS.BuildVersionCodes.GingerBread


Android 2.2.x
June 2010
۸
Froyo
Android.OS.BuildVersionCodes.Froyo


Android 2.1.x
January 2010
۷
Eclair
Android.OS.BuildVersionCodes.EclairMr1


Android 2.0.1
December 2009
۶
Eclair
Android.OS.BuildVersionCodes.Eclair01


Android 2.0
November 2009
۵
Eclair
Android.OS.BuildVersionCodes.Eclair


Android 1.6
September 2009
۴
Donut
Android.OS.BuildVersionCodes.Donut


Android 1.5
May 2009
۳
Cupcake
Android.OS.BuildVersionCodes.Cupcake


Android 1.1
February 2009
۲
Base
Android.OS.BuildVersionCodes.Base11


Android 1.0
October 2008
۱
Base
Android.OS.BuildVersionCodes.Base



چک ران تایم
در این قسمت به نحوه چک ورژن و کد نویسی مطابق آن میپردازیم به تکه کد زیر دقت کنید.
if ( Android . OS . Build . Version . SdkInt > = Android . OS . BuildVersionCodes . Lollipop )
{
// کد اجرا در اندروید های ۵ به بالا
}
else
{
// کد اجرا در اندروید های ۵ به پایین
}
برای جایگذاری نسخه ای به غیر از ۵ در این کد بجای عبارت  Android . OS . BuildVersionCodes . Lollipop بیلد کد نسخه موردنظر آمده در جدول را استفاده کنید.