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

توجه: با انتشار کتابخانه پشتیبانی ۲۸.۰.۰، کتابخانه‌های android.support -packaged منسوخ شده و با کتابخانه‌های Jetpack با نسخه‌های جداگانه که به صورت androidx بسته‌بندی شده‌اند، جایگزین می‌شوند. نسخه اولیه ۱.۰.۰ کتابخانه‌های Jetpack برابری با کتابخانه پشتیبانی ۲۸.۰.۰ را فراهم می‌کند و نقطه شروعی برای مهاجرت به بسته‌بندی جدید androidx است.

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

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

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

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

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

کتابخانه‌های پشتیبانی نسخه ۴

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

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

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

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

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

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

com.android.support:support-compat:28.0.0

کتابخانه‌ی core-utils نسخه‌ی ۴

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

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

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

کتابخانه رابط کاربری هسته نسخه ۴

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

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

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

کتابخانه سازگاری با رسانه نسخه ۴

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

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

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

کتابخانه قطعه‌بندی نسخه ۴

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

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

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

com.android.support:support-fragment:28.0.0

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

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

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

com.android.support:multidex:1.0.0

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

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

کتابخانه appcompat نسخه ۷، بخشی از جت‌پک اندروید .

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

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

نکته: این کتابخانه به کتابخانه پشتیبانی نسخه ۴ وابسته است.

در اینجا چند کلاس کلیدی موجود در کتابخانه appcompat نسخه ۷ آورده شده است:

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

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

com.android.support:appcompat-v7:28.0.0

کتابخانه‌ی cardview نسخه‌ی ۷

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

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

com.android.support:cardview-v7:28.0.0

کتابخانه طرح‌بندی شبکه‌ای v7

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

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

com.android.support:gridlayout-v7:28.0.0

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

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

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

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

com.android.support:mediarouter-v7:28.0.0

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

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

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

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

com.android.support:palette-v7:28.0.0

کتابخانه recyclerview نسخه ۷

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

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

com.android.support:recyclerview-v7:28.0.0

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

بسته preferences ، APIهایی را برای پشتیبانی از افزودن اشیاء preferences، مانند CheckBoxPreference و ListPreference ، برای کاربران فراهم می‌کند تا تنظیمات رابط کاربری را تغییر دهند.

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

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

com.android.support:preference-v7:28.0.0

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

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

کتابخانه رندر اسکریپت نسخه ۸

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

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

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

defaultConfig {
    renderscriptTargetApi 18
    renderscriptSupportModeEnabled true
}

کتابخانه پشتیبانی نسخه ۱۳

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

نکته: کتابخانه fragment نسخه ۴ یک کلاس Fragment ارائه می‌دهد. کلاس Fragment نسخه ۴ یک کلاس مستقل است که رفع اشکالاتی را که در نسخه‌های بعدی پلتفرم اضافه شده‌اند، ارائه می‌دهد، در حالی که کلاس FragmentCompat نسخه ۱۳، کدهای سازگاری را برای پیاده‌سازی چارچوب کلاس Fragment ارائه می‌دهد.

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

com.android.support:support-v13:28.0.0

کتابخانه پشتیبانی ترجیحات نسخه ۱۴

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

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

com.android.support:preference-v14:28.0.0

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

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

این بسته به API سطح ۱۷ یا بالاتر نیاز دارد. شناسه وابستگی Gradle build script برای این کتابخانه به شرح زیر است:

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

کتابخانه Leanback نسخه ۱۷

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

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

این بسته به API سطح ۱۷ یا بالاتر نیاز دارد. شناسه وابستگی Gradle build script برای این کتابخانه به شرح زیر است:

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هایی را برای پشتیبانی از افزودن اجزا و الگوهای طراحی متریال به برنامه‌های شما ارائه می‌دهد.

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

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

com.android.support:design:28.0.0

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

بسته‌ی Custom Tabs رابط‌های برنامه‌نویسی کاربردی (API) را برای پشتیبانی از افزودن و مدیریت تب‌های سفارشی در برنامه‌های شما فراهم می‌کند.

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

این بسته به API سطح ۱۵ یا بالاتر نیاز دارد. شناسه وابستگی Gradle build script برای این کتابخانه به شرح زیر است:

com.android.support:customtabs:28.0.0

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

پکیج Percent رابط‌های برنامه‌نویسی کاربردی (API) را برای پشتیبانی از افزودن و مدیریت ابعاد مبتنی بر درصد در برنامه شما ارائه می‌دهد.

نکته: از نسخه ۲۶.۰.۰، کتابخانه 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 سطح ۲۱ یا بالاتر نیاز دارد. شناسه وابستگی Gradle build script برای این کتابخانه به شرح زیر است:

com.android.support:recommendation:28.0.0

کتابخانه رابط کاربری لباس

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

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

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

com.android.support:wear:28.0.0