محیط 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 بیلد کد نسخه موردنظر آمده در جدول را استفاده کنید.