Android Jetpack
Jetpack مجموعهای از کتابخانهها است که به شما کمک میکند روالهای مطلوب را دنبال کنید، کد تکراری را کاهش دهید، و کدی بنویسید که در نسخههای Android، دستگاهها، و عوامل مختلف فرم بهطور یکسان کار کند تا بتوانید روی کدی که برایتان مهم است تمرکز کنید.
Jetpack Compose
توسعه میانای کاربر با Compose
جعبهابزار مدرنی برای ساختن واسط کاربر بومی که به شما امکان میدهد توسعه واسط کاربر را در Android ساده و تسریع کنید.
چرا باید از Android Jetpack استفاده کرد؟
دنبال کردن بهترین روشها
کتابخانههای Android Jetpack که براساس شیوههای طراحی مدرن ساخته شدهاند، با داشتن سازگاری پسرو، امکان خرابی کمتر و نشت حافظه کمتر را فراهم میکنند.
حذف کد متن استاندارد
Android Jetpack کارهای خستهکننده مانند مدیریت کردن تکالیف پسزمینه، پیمایش، و چرخه حیات فعالیت را انجام میدهد تا بتوانید روی عالی کردن برنامهتان تمرکز کنید.
کاهش تکهتکهسازی
با کتابخانههایی که بهطور هماهنگ در نسخهها و دستگاههای Android کار میکنند، پیچیدگی را کاهش دهید.
برای هر اندازه نمایشگری بسازید
کتابخانههای Jetpack مانند androidx.compose.material3.adaptive.layout توسعه چیدمانهای تطبیقی بهینهشده برای همه اندازههای نمایش را ساده میکنند.
یادگیری استفاده از Jetpack
آموزش اصول اولیه
در دوره «اصول Android با Compose» با کتابخانههای ضروری Jetpack آشنا شوید و کد تکراری را در برنامهتان کاهش دهید
آموزش گامبهگام عملی
با سه کتابخانه Jetpack که لایه داده شما را ساده میکنند، آشنا شوید: LiveData، ViewModel و Room
برنامه نمونه «اکنون در Android»
کاوش کنید که معماری مدرن Android چگونه در یک برنامه واقعی پیادهسازی میشود
کتابخانههای Jetpack کاوش همه کتابخانهها
* کتابخانههای پرطرفدار و پراستفاده در ابتدا فهرست میشوند
| فعالیت * | به میاناهای برنامهسازی کاربردی ترکیبپذیر ساختهشده روی «فعالیت» دسترسی پیدا کنید. |
| مؤلفههای تطبیقی Material Design 3 | ساختن واسطهای کاربر تطبیقی با مؤلفههای «طراحی مواد ۳». |
| appcompat * | امکان دسترسی به میاناهای برنامهسازی کاربردی جدید را در نسخههای قدیمیتر میانای برنامهسازی کاربردی پلاتفرم فراهم میکند (بسیاری از آنها از «طراحی مواد» استفاده میکنند). |
| appsearch * | قابلیتهای جستجوی درونبرنامهای سفارشی برای کاربران بسازید. |
| دوربین * | برنامههای دوربین تلفن همراه بسازید. |
| compose * | میانای کاربریتان را بهصورت برنامهنویسی با توابع ترکیبپذیر تعریف کنید که شکل و وابستگیهای داده آن را توصیف میکنند. |
| databinding * | عناصر رابط کاربری را در چیدمانهایتان بااستفاده از قالب اعلانی به منابع داده در برنامهتان متصل کنید. |
| fragment * | برنامهتان را به چند صفحه مستقل تقسیم کنید که در یک «فعالیت» میزبانی میشوند. |
| hilt * | عملکرد Dagger Hilt را گسترش دهید تا تزریق وابستگی کلاسهای خاصی از کتابخانههای androidx فعال شود. |
| چرخه حیات * | مؤلفههای آگاه از چرخه حیات بسازید که بتوانند رفتار را براساس وضعیت چرخه حیات فعلی فعالیت یا قطعه تنظیم کنند. |
| مؤلفههای طراحی مواد * | عناصر واسط کاربر «طراحی مواد» مدولار و قابلسفارشیسازی برای Android. |
| پیمایش * | میانای کاربر درونبرنامه را بسازید و ساختاربندی کنید، پیوندهای عمیق را مدیریت کنید، و بین صفحهها پیمایش کنید. |
| صفحهبندی * | دادهها را در صفحهها بار کنید و آن را در RecyclerView ارائه دهید. |
| اتاق * | دادههای دائمی را که توسط پایگاه داده SQLite پشتیبانی میشود ایجاد، ذخیره، و مدیریت کنید. |
| room3 * | دادههای دائمی را که توسط پایگاه داده SQLite پشتیبانی میشود ایجاد، ذخیره، و مدیریت کنید. |
| test * | آزمایش در Android. |
| work * | تکالیف پسزمینهای مبتنی بر محدودیت و قابلتعویق را زمانبندی و اجرا کنید. |
| a2ui | پردازنده Jetpack Compose Agent-to-UI (A2UI) پیادهسازی پروتکل A2UI را ارائه میدهد و به عاملهای هوش مصنوعی امکان میدهد میاناهای کاربر تعاملی و غنی تولید کنند که مؤلفههای Compose بومی را بدون اجرای کد دلخواه پردازش میکند. |
| a2ui.compose | پردازنده Jetpack Compose Agent-to-UI (A2UI) پیادهسازی پروتکل A2UI را ارائه میدهد و به عاملهای هوش مصنوعی امکان میدهد میاناهای کاربر تعاملی و غنی تولید کنند که مؤلفههای Compose بومی را بدون اجرای کد دلخواه پردازش میکند. |
| آگهیها | شناسه تبلیغاتی را با یا بدون «خدمات Play» دریافت کنید. |
| annotation.keep | فهرست کارها |
| حاشیهنویسی | فرادادههایی را آشکار کنید که به ابزارها و توسعهدهندگان دیگر کمک میکند کد برنامهتان را درک کنند. |
| appfunctions | به برنامهها اجازه میدهد عملکرد و دادهها را با دستیارهای هوش مصنوعی همرسانی کنند و آنها را قادر میسازد تا برای برآورده کردن درخواستهای کاربر، تکالیف را مستقیماً در دستگاه پیدا و اجرا کنند. |
| arch.core | کمککننده برای سایر وابستگیهای معماری، ازجمله قوانین آزمون JUnit که میتوانند با LiveData استفاده شوند. |
| asynclayoutinflater | چیدمانها را بهصورت ناهمگام باد کنید تا از لرزش در واسط کاربر جلوگیری شود. |
| تکمیل خودکار | بهبود دقت تکمیل خودکار ازطریق گسترش نکات. |
| محکزنی | عملکرد کدتان را بهطور دقیق در Android Studio بسنجید. |
| زیستسنجشی | با زیستسنجشی یا اطلاعات اعتباری دستگاه اصالتسنجی کنید و عملیات رمزنگاری را انجام دهید. |
| بلوتوث | از ویژگیهای بلوتوث پلاتفرم Android با میاناهای برنامهسازی کاربردی سازگار با نسخه قدیمی استفاده کنید. |
| مرورگر | صفحههای وب را در مرورگر پیشفرض کاربر نمایش دهید. |
| camera.featurecombinationquery | قابلیتهای دوربین پُرسمان. |
| camera.media3 | فهرست کارها |
| camera.viewfinder | نمایاب مستقل Composable و مبتنی بر View برای دوربین» |
| car-app | برنامههای الگودار برای Android Auto و «سیستمعامل Android Automotive» بسازید. |
| cardview | الگوی کارت Material Design را با گوشههای گرد و سایه افتان پیادهسازی کنید. |
| مجموعه | کاهش تأثیر حافظه مجموعههای کوچک موجود و جدید. |
| compose.animation | پویانماییهایی در برنامههای Jetpack Compose خود بسازند تا تجربه کاربری را غنیتر کنند. |
| compose.compiler | توابع Composable @را تبدیل کنید و بهینهسازیها را با افزونه کامپایلر Kotlin فعال کنید. |
| compose.foundation | برنامههای Jetpack Compose را با بلوکهای ساختمانی آماده برای استفاده بنویسید و پایه را گسترش دهید تا قطعات سیستم طراحی خود را بسازید. |
| compose.material | میاناهای کاربر Jetpack Compose را با «مؤلفههای طراحی مواد» آماده استفاده بسازید. این نقطه ورودی سطح بالاتر Compose است که برای ارائه مؤلفههایی طراحی شده است که با مؤلفههای شرحدادهشده در www.material.io مطابقت دارند. |
| compose.material3 | ساختن میاناهای کاربر Jetpack Compose با مؤلفههای Material Design 3، نسل بعدی «طراحی مواد». Material 3 شامل زمینهها و مؤلفههای بهروزشده و ویژگیهای شخصیسازی Material You مانند رنگ پویا است و بهگونهای طراحی شده است که با سبک بصری جدید Android 12 و واسط کاربر سیستم منسجم باشد. |
| compose.material3.adaptive | از کتابخانه تطبیقی Material 3 برای ایجاد واسطهای کاربر تطبیقی استفاده کنید که بهطور خودکار براساس پیکربندیهای پنجره مثل کلاسهای اندازه پنجره یا وضعیتهای دستگاه تطبیق مییابند. این کتابخانه پیادهسازیهای داربست پیشفرض و واحدهای سازنده قابلترکیب را برای ایجاد تجربههای سفارشی خودتان ارائه میدهد. |
| compose.remote.foundation | فهرست کارها |
| compose.remote | Remote Compose چارچوبی برای ایجاد واسط کاربر برای سطوح ازراهدور است |
| compose.runtime | واحدهای سازنده بنیادی مدل برنامهنویسی و مدیریت وضعیت Compose، و زمان اجرای اصلی برای هدف قرار دادن «افزونه کامپایلر Compose». |
| compose.ui | مؤلفههای اساسی میانای کاربر Compose که برای تعامل با دستگاه لازم است، ازجمله چیدمان، طراحی، و ورودی. |
| همزمان | بااستفاده از کوروتینها، تکالیف را از رشته اصلی خارج کنید و از ListenableFuture بهره ببرید. |
| constraintlayout | با موقعیتیابی نسبی، ابزارهها را بهصورت انعطافپذیر موقعیتیابی و اندازهبندی کنید. |
| contentpager | بار کردن و صفحهبندی دادههای ContentProvider در رشته پسزمینه. |
| coordinatorlayout | ابزارههای برنامه سطح بالا را جایگذاری کنید، مثل AppBarLayout و FloatingActionButton. |
| locationbutton | |
| core | جدیدترین ویژگیهای پلاتفرم و میاناهای برنامهسازی کاربردی را هدف قرار دهید و درعینحال از دستگاههای قدیمیتر نیز پشتیبانی کنید. |
| core.uwb | پیادهسازی UWB (فراپهنباند) در دستگاههای پشتیبانیشده. |
| اطلاعات کاربری | این کتابخانه دسترسی یکپارچه به اطلاعات کاربری کاربر را فراهم میکند. این اطلاعات میتواند شامل گذرواژهها، گذرکلیدها، و اطلاعات کاربری فدراسیونی باشد. این کتابخانه باید برای ارائه تجربههای ورود به سیستم یکپارچه و ایمن استفاده شود. |
| credentials.providerevents | این کتابخانه مجموعهای از میاناهای برنامهسازی کاربردی را برای ارائهدهندگان اطلاعات کاربری فراهم میکند تا در رویدادهای ارائهدهنده، مانند انتقال اطلاعات کاربری و سیگنال دادن به تغییرات اطلاعات کاربری، شرکت کنند. |
| credentials.registry | برای حل این مشکلات، سازوکار ثبت جدیدی اضافه میکنیم که به برنامه اجازه میدهد اطلاعات کاربری دیجیتال را بهروشی حافظ حریم خصوصی ارائه دهد. در سطح بالا، برنامه ارائهدهنده همه اعتبارنامههای دیجیتال نامزد خود را ازقبل در Credential Manager ثبت میکند؛ وقتی Credential Manager درخواست برنامهای را برای اعتبارنامه دیجیتال خاصی دریافت میکند، تطبیق اعتبارنامه و میانای کاربری انتخابگر کاربر را در محیط ایمن اجرا میکند. |
| cursoradapter | دادههای مکاننما را در ابزاره ListView نمایش دهید. |
| customview | نماهای سفارشی را پیادهسازی کنید. |
| datastore | دادهها را بهصورت ناهمگام، سازگار، و تراکنشی ذخیره میکند و بر برخیاز معایب SharedPreferences غلبه میکند |
| documentfile | مشاهده سند فایل. |
| draganddrop | دادههای کشیدن و رها کردن را از برنامه دیگری یا از داخل برنامه بپذیرد و امکان هدف رها کردن سازگاری را نشان دهد. |
| drawerlayout | پیادهسازی ابزاره کشویی Material Design. |
| dynamicanimation | با میانای برنامهسازی کاربردی پویانمایی مبتنی بر فیزیک، پویانماییهای روان ایجاد کنید. |
| اموجی | اموجی را در دستگاههای فعلی و قدیمیتر نمایش دهید. |
| emoji2 | نمایش اموجی در دستگاههای فعلی و قدیمیتر. |
| enterprise | برنامههای آماده برای سازمان ایجاد کنید. |
| exifinterface | خواندن و نوشتن برچسبهای EXIF فایل تصویری. |
| بازیها | از «کیت توسعه نرمافزار بازی Android» بهصورت بومی در برنامهتان استفاده کنید تا کارهای پیچیده بازی مثل Frame Pacing را انجام دهید. |
| glance.adaptive | فهرست کارها |
| نگاه اجمالی | بااستفاده از میانای برنامهسازی کاربردی سبک Jetpack Compose، طرحبندیهایی برای سطوح دور بسازید. |
| glance.wear | Glance Wear کتابخانهای برای ساختن ابزارهها برای Wear OS است |
| گرافیک | بهرهبرداری از امکانات گرافیکی در چندین نسخه پلاتفرم Android |
| gridlayout | چیدمان شبکهای را پیادهسازی کنید. |
| سلامت | برنامههای سلامتی کارآمد را بهصورت مستقل از پلاتفرم ایجاد کنید. |
| health.connect | به توسعهدهندگان اجازه میدهد سوابق سلامتی و تناسب اندام کاربر را بخوانند یا بنویسند. |
| heifwriter | تصویر یا مجموعه تصاویر را بااستفاده از کدکهای موجود در دستگاه Android در قالب HEIF کدبندی کنید. |
| ink | الهامبخش برنامههای قلم درجه یک باشید. موانع توسعهدهنده را برای ورود به تجربههای جوهرنویسی زیبا و با عملکرد بالا کاهش دهید. از Inking در Android و JVM سمت سرور پشتیبانی میکند (درحالحاضر در Linux برای x86_64 پشتیبانی میشود). |
| ورودی | کاهش تأخیر تعاملات ورودی با پیشبینی MotionEvents آینده |
| درونیاب | استفاده از درونیابهای پویانمایی در پلاتفرمهای قدیمیتر. |
| javascriptengine | برنامه Android خود را برای ارزیابی جاوا اسکریپت فعال کنید. |
| jetifier | ابزاری مستقل که وابستگیهای کتابخانه به کتابخانه پشتیبانی منسوخشده را به وابستگیهای AndroidX معادل منتقل میکند. |
| leanback | ابزاری مستقل که وابستگیهای کتابخانه به کتابخانه پشتیبانی منسوخشده را به وابستگیهای AndroidX معادل منتقل میکند. |
| قدیمی | این خروجی ساختاریافته و کلاسهای آن منسوخ شدهاند. از Android 8، محدودیتهای بررسی پسزمینه باعث میشود این کلاس دیگر مفید نباشد. |
| lint | بررسیهای Lint برای تأیید استفاده از Gradle API |
| بارکننده | دادههای واسط کاربر را که دربرابر تغییرات پیکربندی مقاوم است بار کنید. |
| localbroadcastmanager | این خروجی ساختاریافته و کلاسهای آن منسوخ شدهاند. بهجای آن از LiveData یا جاریسازیهای واکنشی استفاده کنید. |
| رسانه | همرسانی محتوا و کنترلهای رسانه با برنامههای دیگر. با media3 جایگزین شده است. |
| media3 * | کتابخانههای پشتیبانی برای موارد استفاده از رسانه. |
| mediarouter | نمایش و بازپخش رسانه را در دستگاههای گیرنده از راه دور بااستفاده از میانای کاربر مشترک فعال میکند. |
| مولتیدکس | برنامههای دارای چند فایل dex را در دستگاههای قدیمیتر از Android 5 مستقر کنید. |
| سنجهها | ردیابی و گزارش سنجههای مختلف زمان اجرا برای برنامه شما |
| navigation3 | Navigation 3 کتابخانه ناوبری جدیدی است که برای کار با Compose طراحی شده است. |
| navigationevent | کتابخانه Navigation Event یک میانای برنامهسازی کاربردی KMP-first برای مدیریت برگشت سیستم و همچنین [برگشت پیشگویانه](/guide/navigation/custom-back/predictive-back-gesture) ارائه میدهد. |
| پالت | پالتهای رنگی معرف را از تصاویر استخراج کنید. |
| کتابخانهای برای افزودن قابلیتهای مشاهده PDF در برنامهها. | |
| percentlayout | این خروجی ساختاریافته و کلاسهای آن منسوخ شدهاند. بهجای آن، از ConstraintLayout و چیدمانهای مرتبط استفاده کنید. |
| عملکرد | گزارمانهای منبع را برای بهینهسازی عملکرد ارائه میدهد. |
| انتخابگر عکس | این کتابخانه یکپارچهسازی Compose و Android Views را برای انتخابگر عکس جاسازیشده ارائه میدهد. |
| اولویت | صفحههای تنظیمات تعاملی را بدون نیاز به تعامل با فضای ذخیرهسازی دستگاه یا مدیریت میانای کاربر بسازید. |
| چاپ | عکسها، اسناد، و دیگر گرافیکها و تصاویر را از برنامهتان چاپ کنید. |
| privacysandbox.activity | فهرست کارها |
| privacysandbox.ads | این کتابخانه امکان ادغام با Privacy Preserving APIs را فراهم میکند که بخشی از «جعبه شنی حریم خصوصی» در Android است. |
| privacysandbox.plugins | افزایه Android Privacy Sandbox Sdk Library Gradle |
| privacysandbox.sdkruntime | این کتابخانه مؤلفههایی را برای مصرفکنندگان آگاه از SdkRuntime ارائه میدهد |
| privacysandbox.tools | کتابخانهای برای استفاده از عملکرد «جعبه شنی حریم خصوصی» در Android |
| privacysandbox.ui | فهرست کارها |
| profileinstaller | کتابخانهها را قادر میسازد تا ردپاهای کامپایل پیشاز موعد را برای خوانده شدن توسط ART ازقبل پر کنند. |
| توصیه | محتوا را در صفحه اصلی «راهانداز Android TV» تبلیغ کنید. |
| recyclerview | مجموعههای بزرگ داده را در میانای کاربریتان نمایش دهید و درعینحال استفاده از حافظه را بهحداقل برسانید. |
| remotecallback | ایجاد یک پوشش که ارائه PendingIntent را برای توسعهدهندگان آسانتر میکند. |
| resourceinspection | ویژگیهای نماهای سفارشی را در «بازرس چیدمان زنده» Android Studio نمایش دهید. |
| savedstate | مؤلفههای قابلاتصالی بنویسید که وقتی فرایندی ازبین میرود، وضعیت میانای کاربر را ذخیره کند و وقتی فرایند بازراهاندازی میشود، آن را بازیابی کند. |
| امنیت | کلیدها را بهطور ایمن مدیریت کنید و فایلها و sharedpreferences را رمزگذاری کنید. |
| sharetarget | سازگاری با نسخه قدیمی را برای استفاده از میانبرها بهعنوان هدفهای همرسانی مستقیم ارائه میدهد. |
| slice | عناصر میانای کاربر الگوبرداریشده را در خارج از برنامهتان نمایش دهید. |
| slidingpanelayout | الگوی واسط کاربر قاب لغزشی را پیادهسازی کنید. |
| راهاندازی | روشی ساده و کارآمد برای مقداردهی اولیه مؤلفهها در هنگام راهاندازی برنامه پیادهسازی کنید. |
| sqlite | با پایگاههای داده SQLite محلی کار کنید. درصورت امکان، از «اتاق» استفاده کنید. |
| swiperefreshlayout | الگوی واسط کاربر «تند کشیدن برای بازآوری» را پیادهسازی کنید. |
| test.backup | چارچوب آزمایش خودکار برای تأیید اینکه دادههای کاربر و اعتبارنامههای حساب بهطور ایمن در ارتقای دستگاه و بازیابی ابری حفظ میشوند. |
| test.ext | فهرست کارها |
| test.uiautomator | چارچوب آزمایش واسط کاربر کارکردی بینبرنامهای |
| text-vertical | فهرست کارها |
| textclassifier | مکالمهها، پیوندها، انتخابها، و سایر ساختارهای مشابه را در نوشتار شناسایی میکند. |
| ردیابی | رویدادهای ردیابی را در میانگیر ردیابی سیستم بنویسید. |
| transition | پویانمایی کردن حرکت در واسط کاربر با چیدمانهای شروع و پایان. |
| tv | عملکردهای Compose و «طراحی مواد» را برای نوشتن برنامههای تلویزیون دراختیار توسعهدهندگان قرار میدهد |
| tvprovider | کانالهای Android TV را ارائه دهید. |
| vectordrawable | پرداز زدن گرافیکهای برداری. |
| versionedparcelable | قالب سریالسازی دودویی پایدار و فشردهای ارائه میدهد که میتواند در فرایندها منتقل شود یا بهطور ایمن حفظ شود. |
| viewpager | «نماها» یا «قطعات» را در قالب تندکشیدنی نمایش دهید. درصورت امکان، بهجای آن از viewpager2 استفاده کنید. |
| viewpager2 | «نماها» یا «قطعات» را در قالب تندکشیدنی نمایش دهید. |
| wear | برای ساعتهای هوشمند Wear OS by Google برنامه ایجاد کنید. |
| wear.compose | نوشتن برنامههای Jetpack Compose برای دستگاههای Wear OS با ارائه عملکردی برای پشتیبانی از اندازههای مختلف دستگاه و اشارههای پیمایش. |
| wear.compose.remote | بااستفاده از سیستم طراحی Material 3 Expressive، برای Wear OS ابزاره و دیگر میاناهای کاربر ازراهدور بنویسید. |
| wear.protolayout | این کتابخانه امکان تعریف مجموعهای از چیدمانهای میانای کاربر و عبارتهای غیرمیانای کاربر را برای ارائه/ارزیابی در سطوح ازراهدور فراهم میکند. |
| wear.tiles | برای ساعتهای هوشمند Wear OS by Google برنامه ایجاد کنید. |
| wear.watchface | برای ساعتهای هوشمند Wear OS by Google برنامه ایجاد کنید. |
| wear.watchfacepush | Watch Face Push به برنامه Wear OS اجازه میدهد صفحه ساعتی را بهصورت برنامهنویسیشده در ساعت نصب کند. |
| webgpu | میانای برنامهسازی کاربردی واحد پردازش گرافیکی مدرن برای گرافیک و محاسبه از Kotlin. |
| webkit | با میاناهای برنامهنویسی کاربردی WebView مدرن در Android 5 و بالاتر کار کنید. |
| پنجره | به پشتیبانی از ضریبهای شکل مختلف دستگاه مانند دستگاههای تاشو کمک میکند. |
| window.extensions.core | میاناهای برنامهسازی کاربردی اصلی برای افزونههای کتابخانه Window Manager |
| xr.arcore | با قابلیتهای ادراکی، محتوای دیجیتال را به دنیای واقعی بیاورید. |
| xr.compose | چیدمانهای میانای کاربر فضایی را بهصورت اعلانی بسازید که از قابلیتهای فضایی Android XR بهره میبرند. |
| xr.compose.material3 | ساختن با مؤلفهها و چیدمانهای Material که با واقعیت گسترده سازگار میشوند |
| xr.glimmer | زبان طراحی و جعبهابزار میانای کاربر برای ساختن تجربههای واقعیت گسترده Android |
| xr.projected | تجربههایی بسازید که از قابلیتهای منحصربهفرد دستگاههای XR متصل بهره میبرند. |
| xr.runtime | جلسه سهبعدی یا واقعیت افزوده سفارشیتان را با زمان اجرای بومی ما شروع کنید. |
| xr.scenecore | ساختن و دستکاری کردن نمودار صحنه Android XR با محتوای سهبعدی. |