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 کاوش همه کتابخانهها
* کتابخانههای پرطرفدار و پراستفاده در ابتدا فهرست میشوند
| فعالیت * | به میاناهای برنامهسازی کاربردی ترکیبپذیر ساختهشده روی Activity دسترسی پیدا کنید. |
| مؤلفههای تطبیقی Material Design 3 | ساختن واسطهای کاربر تطبیقی با مؤلفههای «طراحی مواد ۳». |
| appcompat * | دسترسی به میاناهای برنامهسازی کاربردی جدید در نسخههای قدیمیتر میانای برنامهسازی کاربردی پلاتفرم را امکانپذیر میکند (بسیاری از آنها از «طراحی مواد» استفاده میکنند). |
| appsearch * | قابلیتهای جستجوی درونبرنامهای سفارشی برای کاربران بسازید. |
| دوربین * | برنامههای دوربین تلفن همراه بسازید. |
| نوشتن * | میانای کاربریتان را بهصورت برنامهنویسی با توابع ترکیبپذیر که شکل و وابستگیهای داده آن را توصیف میکنند تعریف کنید. |
| databinding * | عناصر رابط کاربری را در چیدمانهایتان بااستفاده از قالب اعلانی به منابع داده در برنامهتان متصل کنید. |
| fragment * | برنامهتان را به چند صفحه مستقل تقسیم کنید که در «فعالیت» میزبانی میشوند. |
| hilt * | عملکرد Dagger Hilt را گسترش دهید تا تزریق وابستگی کلاسهای خاصی از کتابخانههای androidx را فعال کنید. |
| چرخه حیات * | عناصری بسازید که از چرخه حیات آگاه باشند و بتوانند رفتارشان را براساس وضعیت فعلی چرخه حیات فعالیت یا قطعه تنظیم کنند. |
| عناصر «طراحی مواد» * | عناصر واسط کاربر «طراحی مواد» ماژولار و قابلسفارشیسازی برای Android. |
| navigation * | میانای کاربر درونبرنامهای خود را بسازید و ساختاردهی کنید، پیوندهای عمیق را مدیریت کنید، و بین صفحهها پیمایش کنید. |
| صفحهبندی * | دادهها را در صفحهها بار کنید و آنها را در RecyclerView ارائه دهید. |
| اتاق * | دادههای ماندگار را که با پایگاه داده SQLite پشتیبانی میشود ایجاد، ذخیره، و مدیریت کنید. |
| room3 * | دادههای ماندگار را که با پایگاه داده SQLite پشتیبانی میشود ایجاد، ذخیره، و مدیریت کنید. |
| test * | آزمایش در Android. |
| کار * | تکالیف پسزمینهای مبتنی بر محدودیت و قابلتعویق را زمانبندی و اجرا کنید. |
| 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 | با افزونه مترجم Kotlin، توابع @Composable را تبدیل کنید و بهینهسازیها را فعال کنید. |
| compose.foundation | برنامههای Jetpack Compose را با بلوکهای ساختمانی آماده برای استفاده بنویسید و پایه را گسترش دهید تا قطعات سیستم طراحی خود را بسازید. |
| compose.material | با «عناصر طراحی Material» آماده استفاده، «میاناهای کاربر Jetpack 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 Compiler Plugin. |
| compose.ui | عناصر اساسی میانای کاربر Compose که برای تعامل با دستگاه لازم است، ازجمله چیدمان، طراحی، و ورودی. |
| همزمان | با استفاده از روتینهای همکار، تکلیفها را از رشته اصلی خارج کنید و از ListenableFuture بهره ببرید. |
| constraintlayout | ابزارهها را بهطور انعطافپذیر با موقعیتیابی نسبی جایگذاری و اندازهبندی کنید. |
| contentpager | بار کردن و صفحهبندی دادههای ContentProvider در رشته پسزمینه. |
| coordinatorlayout | ابزارههای برنامه سطح بالا، مثل AppBarLayout و FloatingActionButton را در موقعیت قرار دهید. |
| locationbutton | |
| core | جدیدترین ویژگیهای پلاتفرم و میاناهای برنامهسازی کاربردی را هدف قرار دهید و درعینحال از دستگاههای قدیمیتر نیز پشتیبانی کنید. |
| core.uwb | پیادهسازی UWB (فراپهنباند) در دستگاههای پشتیبانیشده. |
| اطلاعات کاربری | این کتابخانه دسترسی یکپارچه به اطلاعات اعتباری کاربر را فراهم میکند. این دادهها میتواند شامل گذرواژهها، گذرکلیدها، و اطلاعات اعتباری فدرال باشد. از این کتابخانه باید برای ارائه تجربههای ورود به سیستم یکپارچه و ایمن استفاده شود. |
| credentials.providerevents | این کتابخانه مجموعهای از میاناهای برنامهسازی کاربردی را برای ارائهدهندگان اطلاعات کاربری فراهم میکند تا در رویدادهای ارائهدهنده، مانند انتقال اطلاعات کاربری و سیگنال دادن به تغییرات اطلاعات کاربری، شرکت کنند. |
| credentials.registry | برای حل این مشکلات، سازوکار ثبت جدیدی اضافه میکنیم که به برنامه اجازه میدهد اطلاعات کاربری دیجیتال را بهروشی حافظ حریم خصوصی ارائه دهد. در سطح بالا، برنامه ارائهدهنده همه اعتبارنامههای دیجیتال نامزد خود را ازقبل در Credential Manager ثبت میکند؛ وقتی Credential Manager درخواست برنامهای را برای اعتبارنامه دیجیتال خاصی دریافت میکند، تطبیق اعتبارنامه و میانای کاربری انتخابگر کاربر را در محیط ایمن اجرا میکند. |
| cursoradapter | دادههای «مکاننما» را در ابزاره «فهرستنما» آشکار کنید. |
| customview | نماهای سفارشی را پیادهسازی کنید. |
| datastore | دادهها را بهصورت ناهمگام، سازگار، و تراکنشی ذخیره میکند و بر برخیاز معایب SharedPreferences غلبه میکند |
| documentfile | مشاهده سند فایل. |
| draganddrop | دادههای کشیدن و رها کردن را از برنامه دیگری یا از داخل برنامه بپذیرد و امکان هدف رها کردن سازگاری را نشان دهد. |
| drawerlayout | پیادهسازی ابزاره کشویی Material Design. |
| dynamicanimation | بااستفاده از «میانای برنامهسازی کاربردی پویانمایی» مبتنی بر فیزیک، پویانماییهای روان بسازید. |
| اموجی | اموجی در دستگاههای فعلی و قدیمیتر نمایش داده میشود. |
| emoji2 | اموجی در دستگاههای فعلی و قدیمیتر نمایش داده میشود. |
| سازمان | برنامههای آماده برای سازمان ایجاد کنید. |
| exifinterface | برچسبهای EXIF فایل تصویری را بخواند و بنویسد. |
| بازیها | از «کیت توسعه نرمافزار بازی Android» بهصورت بومی در برنامهتان استفاده کنید تا کارهای پیچیده بازی مثل Frame Pacing را انجام دهید. |
| glance.adaptive | فهرست کارها |
| نگاه اجمالی | بااستفاده از میانای برنامهسازی کاربردی سبک Jetpack Compose، طرحبندیهایی برای سطوح دور بسازید. |
| glance.wear | Glance Wear کتابخانهای برای ساختن «ابزارک» برای Wear OS است |
| گرافیک | بهرهبرداری از امکانات گرافیکی در چندین نسخه پلاتفرم Android |
| gridlayout | چیدمان شبکهای را پیادهسازی کنید. |
| سلامت | برنامههای سلامتی کارآمد را بهصورت مستقل از پلاتفرم ایجاد کنید. |
| health.connect | به توسعهدهندگان اجازه میدهد سوابق سلامتی و تناسب اندام کاربر را بخوانند یا بنویسند. |
| heifwriter | تصویر یا مجموعه تصویری را بااستفاده از کدکهای دردسترس در دستگاه Android در قالب HEIF کدبندی کنید. |
| ink | الهامبخش برنامههای قلم درجه یک باشید. موانع توسعهدهندگان را برای ورود به تجربههای زیبا و با عملکرد بالای نوشتن با قلم کاهش دهید. از «جوهرنویسی» در Android و JVM سمت سرور (درحالحاضر در Linux برای x86_64 پشتیبانی میشود) پشتیبانی میکند. |
| ورودی | با پیشبینی MotionEventهای آینده، تأخیر در تعاملات ورودی را کاهش دهید |
| میانیاب | استفاده از درونیابهای پویانمایی در پلاتفرمهای قدیمیتر. |
| 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 | این کتابخانه امکان ادغام با «میاناهای برنامهسازی کاربردی حفظ حریم خصوصی» را فراهم میکند که بخشی از «جعبه شنی حریم خصوصی» در 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 | مکالمهها، پیوندها، انتخابها، و ساختارهای مشابه دیگر را در نوشتار شناسایی میکند. |
| ردیابی | رویدادهای ردیابی را در میانگیر ردیابی سیستم بنویسید. |
| انتقال | پویانمایی کردن حرکت در واسط کاربر با چیدمانهای شروع و پایان. |
| تلویزیون | عملکردهای 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 | «ارسال صفحه ساعت» به برنامه Wear OS اجازه میدهد صفحه ساعتی را بهصورت برنامهریزیشده روی ساعت نصب کند. |
| webgpu | یک API مدرن واحد پردازش گرافیکی برای گرافیک و محاسبات از Kotlin. |
| webkit | با «میاناهای برنامه کاربردی» مدرن «وبنما» در 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 با محتوای سهبعدی. |