پشتیبانی از بسته های کتابخانه

توجه: با انتشار Support Library 28.0.0، کتابخانه‌های بسته‌بندی‌شده android.support منسوخ شده و با نسخه‌های جداگانه کتابخانه‌های Jetpack که به‌عنوان androidx بسته‌بندی شده‌اند جایگزین می‌شوند. نسخه اولیه 1.0.0 کتابخانه‌های Jetpack برابری با پشتیبانی کتابخانه 28.0.0 را فراهم می‌کند و نقطه شروعی را برای مهاجرت به بسته‌بندی جدید androidx فراهم می‌کند.

کتابخانه های موجود با بسته بندی android.support به کار خود ادامه خواهند داد. با این حال، آنها هیچ به روز رسانی بیش از 28.0.0 دریافت نخواهند کرد و با کتابخانه های جدید Jetpack سازگار نخواهند بود. مصنوعات تاریخی (آنهایی که نسخه‌های 27 و قبل از آن منتشر شده‌اند و به‌عنوان android.support بسته‌بندی شده‌اند) در Google Maven در دسترس خواهند بود. همه مصنوعات جدید به عنوان androidx بسته بندی می شوند و نیاز به مهاجرت از android.support به androidx دارند.

توصیه می کنیم از کتابخانه های androidx در تمام پروژه های جدید استفاده کنید. همچنین باید مهاجرت پروژه‌های موجود را در نظر بگیرید تا اطمینان حاصل کنید که رفع اشکال و سایر بهبودهای کتابخانه‌ای همچنان ادامه دارد.

کتابخانه پشتیبانی اندروید شامل چندین بسته کتابخانه است که می توانند در برنامه شما گنجانده شوند. هر یک از این کتابخانه ها از طیف خاصی از نسخه های پلتفرم اندروید و مجموعه ای از ویژگی ها پشتیبانی می کنند.

برای استفاده از هر یک از کتابخانه های زیر، باید فایل های کتابخانه را در نصب Android SDK خود دانلود کنید. برای تکمیل این مرحله، دستورالعمل‌های دانلود کتابخانه‌های پشتیبانی را در راه‌اندازی کتابخانه پشتیبانی دنبال کنید. برای گنجاندن یک کتابخانه پشتیبانی خاص در برنامه خود باید اقدامات بیشتری انجام دهید. برای اطلاعات مهم در مورد نحوه گنجاندن کتابخانه در برنامه خود، انتهای هر بخش کتابخانه را در زیر ببینید.

توجه: حداقل نسخه SDK برای همه بسته‌های کتابخانه پشتیبانی حداقل سطح API 14 است. برخی از بسته‌ها به سطح API بالاتری نیاز دارند، همانطور که در زیر ذکر شده است.

v4 کتابخانه های پشتیبانی

این کتابخانه‌ها شامل بزرگترین مجموعه APIها در مقایسه با کتابخانه‌های دیگر، از جمله پشتیبانی از اجزای برنامه، ویژگی‌های رابط کاربر، قابلیت دسترسی، مدیریت داده‌ها، اتصال به شبکه و ابزارهای برنامه‌نویسی هستند.

برای اطلاعات کامل و دقیق در مورد کلاس ها و روش های ارائه شده توسط کتابخانه های پشتیبانی v4، بسته android.support.v4 را در مرجع API ببینید.

توجه: قبل از نسخه 24.2.0 کتابخانه پشتیبانی، یک کتابخانه پشتیبانی از نسخه 4 وجود داشت. آن کتابخانه برای بهبود کارایی به چندین ماژول تقسیم شد. برای سازگاری به عقب، اگر support-v4 در اسکریپت Gradle خود فهرست کنید، برنامه شما شامل همه ماژول های v4 می شود. با این حال، برای کاهش اندازه برنامه، توصیه می کنیم فقط ماژول های خاصی را که برنامه خود نیاز دارد فهرست کنید.

کتابخانه compat v4

پوشش‌های سازگاری را برای تعدادی از APIهای چارچوب، مانند Context.obtainDrawable() و View.performAccessibilityAction() ارائه می‌کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-compat:28.0.0

v4 core-utils library

تعدادی از کلاس های کاربردی مانند AsyncTaskLoader و PermissionChecker را ارائه می دهد.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-core-utils:28.0.0

کتابخانه core-ui v4

انواع مؤلفه‌های مرتبط با رابط کاربری، مانند ViewPager ، NestedScrollView ، و ExploreByTouchHelper را پیاده‌سازی می‌کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-core-ui:28.0.0

v4 کتابخانه رسانه سازگار

بخش هایی از چارچوب رسانه ، از جمله MediaBrowser و MediaSession را در پس زمینه ذخیره می کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-media-compat:28.0.0

کتابخانه قطعه v4

پشتیبانی از محصور کردن رابط کاربری و عملکرد با قطعات را اضافه می‌کند و برنامه‌ها را قادر می‌سازد تا طرح‌بندی‌هایی را ارائه کنند که بین دستگاه‌های کوچک و صفحه‌نمایش بزرگ تنظیم شوند. این ماژول به compat ، core-utils ، core-ui و media-compat وابستگی دارد.

توجه: کتابخانه پشتیبانی v13 یک کلاس FragmentCompat را ارائه می دهد. کلاس v4 Fragment یک کلاس مستقل است که رفع اشکالاتی را ارائه می دهد که در نسخه های پلتفرم بعدی اضافه شده اند، در حالی که کلاس v13 FragmentCompat شیم های سازگاری را برای پیاده سازی چارچوب کلاس Fragment ارائه می دهد.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-fragment:28.0.0

کتابخانه پشتیبانی Multidex

این کتابخانه از ساخت اپلیکیشن با چندین فایل اجرایی Dalvik (DEX) پشتیبانی می کند. برنامه‌هایی که به بیش از 65536 روش ارجاع می‌دهند برای استفاده از پیکربندی‌های multidex مورد نیاز هستند. برای اطلاعات بیشتر در مورد استفاده از multidex، به ساخت برنامه‌ها با روش‌های بیش از 64K مراجعه کنید.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:multidex:1.0.0

v7 کتابخانه های پشتیبانی

این کتابخانه ها مجموعه ویژگی های خاصی را ارائه می دهند و می توانند به طور مستقل از یکدیگر در برنامه شما گنجانده شوند.

v7 appcompat library بخشی از Android Jetpack .

توجه: کتابخانه appcompat به کتابخانه AndroidX که یک جزء Android Jetpack است منتقل شده است. آن را در حال استفاده در برنامه آزمایشی Sunflower مشاهده کنید.

این کتابخانه از الگوی طراحی رابط کاربری Action Bar پشتیبانی می کند. این کتابخانه شامل پشتیبانی از پیاده سازی رابط کاربری طراحی متریال می باشد.

توجه: این کتابخانه به کتابخانه پشتیبانی v4 بستگی دارد.

در اینجا تعدادی از کلاس های کلیدی موجود در کتابخانه appcompat v7 آورده شده است:

  • ActionBar - اجرای الگوی رابط کاربری نوار عمل را ارائه می دهد. برای اطلاعات بیشتر در مورد استفاده از Action Bar، به راهنمای توسعه دهنده Action Bar مراجعه کنید.
  • AppCompatActivity - یک کلاس فعالیت برنامه را اضافه می کند که می تواند به عنوان یک کلاس پایه برای فعالیت هایی که از اجرای نوار اقدام کتابخانه پشتیبانی استفاده می کنند استفاده شود.
  • AppCompatDialog - یک کلاس گفتگو اضافه می کند که می تواند به عنوان یک کلاس پایه برای گفتگوهای با موضوع AppCompat استفاده شود.
  • ShareActionProvider - پشتیبانی از یک اقدام به اشتراک گذاری استاندارد (مانند ایمیل یا پست کردن در برنامه های اجتماعی) را اضافه می کند که می تواند در یک نوار عمل گنجانده شود.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:appcompat-v7:28.0.0

کتابخانه کارت ویز 7

این کتابخانه از ویجت CardView پشتیبانی می‌کند، که به شما امکان می‌دهد اطلاعات درون کارت‌هایی را نشان دهید که ظاهری ثابت در هر برنامه دارند. این کارت ها برای پیاده سازی طراحی متریال مفید هستند و به طور گسترده در طرح بندی برنامه های تلویزیونی استفاده می شوند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:cardview-v7:28.0.0

کتابخانه gridlayout v7

پس از دانلود کتابخانه‌های پشتیبانی Android، این کتابخانه پشتیبانی از کلاس GridLayout اضافه می‌کند که به شما امکان می‌دهد عناصر رابط کاربری را با استفاده از شبکه‌ای از سلول‌های مستطیلی مرتب کنید. برای اطلاعات دقیق درباره APIهای کتابخانه gridlayout v7، بسته android.support.v7.widget را در مرجع API ببینید.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:gridlayout-v7:28.0.0

کتابخانه مدیاروتر v7

این کتابخانه MediaRouter , MediaRouteProvider و کلاس های رسانه مرتبط را ارائه می دهد که از Google Cast پشتیبانی می کنند.

به طور کلی، APIهای موجود در کتابخانه مدیاروتر v7 ابزاری برای کنترل مسیریابی کانال‌ها و جریان‌های رسانه از دستگاه فعلی به صفحه‌های خارجی، بلندگوها و سایر دستگاه‌های مقصد فراهم می‌کنند. این کتابخانه شامل APIهایی برای انتشار ارائه دهندگان مسیر رسانه خاص برنامه، برای کشف و انتخاب دستگاه های مقصد، برای بررسی وضعیت رسانه و موارد دیگر است. برای اطلاعات دقیق در مورد APIهای کتابخانه مدیاروتر v7، بسته android.support.v7.media را در مرجع API ببینید.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:mediarouter-v7:28.0.0

APIهای کتابخانه مدیاروتر v7 معرفی شده در کتابخانه پشتیبانی r18 ممکن است در ویرایشهای بعدی کتابخانه پشتیبانی تغییر کنند. در حال حاضر، توصیه می‌کنیم از کتابخانه فقط در ارتباط با Google Cast استفاده کنید.

کتابخانه پالت v7

کتابخانه پشتیبانی از پالت v7 شامل کلاس Palette است که به شما امکان می دهد رنگ های برجسته را از یک تصویر استخراج کنید. به عنوان مثال، یک برنامه موسیقی می تواند از یک شی Palette برای استخراج رنگ های اصلی از جلد آلبوم استفاده کند و از آن رنگ ها برای ساخت کارت عنوان آهنگ هماهنگ با رنگ استفاده کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:palette-v7:28.0.0

کتابخانه v7 recyclerview

کتابخانه recyclerview کلاس RecyclerView را اضافه می کند. این کلاس از ویجت RecyclerView پشتیبانی می کند، نمایی برای نمایش کارآمد مجموعه داده های بزرگ با ارائه یک پنجره محدود از اقلام داده.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:recyclerview-v7:28.0.0

کتابخانه پشتیبانی ترجیحی v7

بسته ترجیحی APIهایی را برای پشتیبانی از افزودن اشیاء ترجیحی، مانند CheckBoxPreference و ListPreference ، برای کاربران برای تغییر تنظیمات UI ارائه می دهد.

کتابخانه Preference v7 از رابط‌هایی مانند Preference.OnPreferenceChangeListener و Preference.OnPreferenceClickListener و کلاس‌هایی مانند CheckBoxPreference و ListPreference پشتیبانی می‌کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:preference-v7:28.0.0

کتابخانه پشتیبانی v8

این کتابخانه مجموعه ویژگی های خاصی را ارائه می دهد و می تواند به طور مستقل از سایر کتابخانه ها در برنامه شما گنجانده شود.

کتابخانه renderscript v8

این کتابخانه پشتیبانی از چارچوب محاسباتی RenderScript را اضافه می کند. این APIها در بسته android.support.v8.renderscript گنجانده شده است. باید توجه داشته باشید که مراحل گنجاندن این APIها در برنامه شما با سایر APIهای کتابخانه پشتیبانی بسیار متفاوت است. برای اطلاعات بیشتر در مورد استفاده از این API ها در برنامه خود، به راهنمای توسعه دهنده RenderScript مراجعه کنید.

توجه: استفاده از RenderScript با کتابخانه پشتیبانی با Android Studio و ساخت‌های مبتنی بر Gradle پشتیبانی می‌شود. کتابخانه renderscript در پوشه build-tools/$VERSION/renderscript/ قرار دارد.

مثال زیر ویژگی های اسکریپت ساخت Gradle را برای این کتابخانه نشان می دهد:

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

کتابخانه پشتیبانی v13

این کتابخانه برای الگوی رابط کاربر Fragment با کلاس ( FragmentCompat ) و کلاس‌های پشتیبانی فرگمنت اضافی پشتیبانی می‌کند. برای اطلاعات بیشتر در مورد قطعات، به راهنمای توسعه‌دهنده Fragments مراجعه کنید. برای اطلاعات دقیق درباره APIهای کتابخانه پشتیبانی v13، بسته android.support.v13 را در مرجع API ببینید.

توجه: کتابخانه قطعه v4 یک کلاس Fragment را ارائه می دهد. کلاس v4 Fragment یک کلاس مستقل است که رفع اشکالاتی را ارائه می دهد که در نسخه های پلتفرم بعدی اضافه شده اند، در حالی که کلاس v13 FragmentCompat شیم های سازگاری را برای پیاده سازی چارچوب کلاس Fragment ارائه می دهد.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-v13:28.0.0

کتابخانه پشتیبانی ترجیحی v14

بسته android.support.v14.preference APIهایی را برای افزودن پشتیبانی از رابط های ترجیحی مانند PreferenceFragment.OnPreferenceStartFragmentCallback و PreferenceFragment.OnPreferenceStartScreenCallback به همراه کلاس هایی مانند MultiSelectListPreference و PreferenceFragment ارائه می دهد. برای اطلاعات دقیق درباره APIهای کتابخانه پشتیبانی ترجیحی v14، به بسته ترجیحی در مرجع API مراجعه کنید.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:preference-v14:28.0.0

v17 کتابخانه پشتیبانی ترجیحی برای تلویزیون

بسته android.support.v17.preference APIهایی را برای ارائه رابط‌های ترجیحی در دستگاه‌های تلویزیون، از جمله پشتیبانی از رابط و کلاس‌های LeanbackListPreferenceDialogFragment.ViewHolder.OnItemClickListener ، مانند BaseLeanbackPreferenceFragment و LeanbackPreferenceFragment ارائه می‌کند. برای اطلاعات دقیق درباره APIهای کتابخانه پشتیبانی ترجیحی v17، به بسته ترجیحی در مرجع API مراجعه کنید.

این بسته به API سطح 17 یا بالاتر نیاز دارد. شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

 com.android.support:preference-leanback-v17:28.0.0 

v17 کتابخانه Leanback

بسته android.support.v17.leanback API هایی را برای پشتیبانی از ساخت رابط های کاربری در دستگاه های تلویزیون ارائه می دهد. تعدادی ویجت مهم برای برنامه های تلویزیونی فراهم می کند. برخی از کلاس های قابل توجه عبارتند از:

  • BrowseFragment - قطعه ای برای ایجاد یک طرح اولیه برای مرور دسته ها و ردیف های آیتم های رسانه.
  • DetailsFragment - یک قطعه بسته بندی برای صفحه نمایش جزئیات Leanback.
  • PlaybackOverlayFragment - یک زیر کلاس از DetailsFragment برای نمایش کنترل های پخش و محتوای مرتبط.
  • SearchFragment - قطعه ای برای رسیدگی به جستجوها. قطعه درخواست جستجوی کاربر را دریافت می کند و آن را به SearchResultProvider ارائه شده توسط برنامه ارسال می کند. SearchResultProvider نتایج جستجو را به SearchFragment برمی‌گرداند که آنها را به RowsFragment تبدیل می‌کند.

این بسته به API سطح 17 یا بالاتر نیاز دارد. شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:leanback-v17:28.0.0

کتابخانه قابل ترسیم برداری

پشتیبانی از گرافیک های برداری استاتیک را فراهم می کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-vector-drawable:28.0.0

کتابخانه قابل ترسیم وکتور متحرک

پشتیبانی از گرافیک های وکتور متحرک را ارائه می دهد.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:animated-vector-drawable:28.0.0

کتابخانه پشتیبانی حاشیه نویسی

بسته Annotation APIهایی را برای پشتیبانی از افزودن فراداده حاشیه نویسی به برنامه های شما ارائه می دهد.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:support-annotations:28.0.0

کتابخانه پشتیبانی طراحی

بسته Design API هایی را برای پشتیبانی از افزودن اجزا و الگوهای طراحی متریال به برنامه های شما ارائه می دهد.

کتابخانه پشتیبانی طراحی پشتیبانی از اجزاء و الگوهای مختلف طراحی متریال را برای توسعه دهندگان برنامه اضافه می کند، مانند کشوهای پیمایش، دکمه های عمل شناور ( FAB )، نوارهای اسنک و برگه ها .

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:design:28.0.0

کتابخانه پشتیبانی برگه های سفارشی

بسته Custom Tabs API هایی را برای پشتیبانی از افزودن و مدیریت برگه های سفارشی در برنامه های شما ارائه می دهد.

کتابخانه پشتیبانی از برگه‌های سفارشی، پشتیبانی از کلاس‌های مختلف را اضافه می‌کند، مانند خدمات برگه‌های سفارشی و برگشت به تماس برگه‌های سفارشی .

این بسته به API سطح 15 یا بالاتر نیاز دارد. شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:customtabs:28.0.0

کتابخانه پشتیبانی درصد

بسته Percent API هایی را برای پشتیبانی از افزودن و مدیریت ابعاد مبتنی بر درصد در برنامه شما ارائه می دهد.

توجه: از نسخه 26.0.0، کتابخانه Percent Support منسوخ شده است. کلاینت های این ماژول باید به ویجت ConstraintLayout جدید مهاجرت کنند که به عنوان یک مصنوع جداگانه در SDK Manager ارائه شده است.

کتابخانه Percent Support از رابط PercentLayoutHelper.PercentLayoutParams و کلاس‌های مختلف مانند PercentFrameLayout و PercentRelativeLayout پشتیبانی می‌کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:percent:28.0.0

کتابخانه پشتیبانی ExifInterface

تگ های Exif اطلاعاتی مانند جهت، تاریخ و زمان، اطلاعات دوربین و مکان را مستقیماً در یک فایل JPEG یا RAW ذخیره می کنند. کلاس ExifInterface از خواندن اطلاعات Exif از فایل‌های فرمت‌شده JPEG و خام (DNG، CR2، NEF، NRW، ARW، RW2، ORF، PEF، SRW و RAF) و تنظیم اطلاعات Exif روی فایل‌های تصویری JPEG پشتیبانی می‌کند.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:exifinterface:28.0.0

کتابخانه پشتیبانی توصیه برنامه برای تلویزیون

بسته پیشنهادی برنامه ، APIهایی را برای پشتیبانی از افزودن توصیه‌های محتوا در برنامه شما که در دستگاه‌های تلویزیون اجرا می‌شود، ارائه می‌کند.

کتابخانه App پشتیبانی از حاشیه‌نویسی‌ها، مانند ContentRecommendation.ContentMaturity و کلاس‌های مختلف، مانند ContentRecommendation و RecommendationExtender را اضافه می‌کند.

این بسته به سطح API 21 یا بالاتر نیاز دارد. شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:recommendation:28.0.0

Wear UI Library

این کتابخانه دارای APIهایی برای ایجاد رابط کاربری برای برنامه‌های Wear است. APIهای موجود در بسته android.support.wear.widget جایگزین APIهای مربوطه در کتابخانه پشتیبانی Wearable می شوند.

برای اطلاعات بیشتر، به استفاده از کتابخانه UI Wear مراجعه کنید.

شناسه وابستگی اسکریپت ساخت Gradle برای این کتابخانه به شرح زیر است:

com.android.support:wear:28.0.0