Android Jetpack,Android Jetpack,Android Jetpack
Jetpack مجموعهای از کتابخانهها است که به شما کمک میکند بهترین شیوهها را دنبال کنید، کدهای دیگ بخار را کاهش دهید، و کدی بنویسید که به طور مداوم در نسخهها، دستگاهها و عوامل شکل Android کار میکند تا بتوانید روی کدی که به آن اهمیت میدهید تمرکز کنید.
Jetpack Compose
توسعه UI با نوشتن، توسعه UI با نوشتن، توسعه UI با نوشتن
یک جعبه ابزار مدرن برای ایجاد رابط کاربری بومی که به شما امکان می دهد توسعه رابط کاربری را در اندروید ساده و تسریع کنید.
یک جعبه ابزار مدرن برای ایجاد رابط کاربری بومی که به شما امکان می دهد توسعه رابط کاربری را در اندروید ساده و تسریع کنید.
یک جعبه ابزار مدرن برای ایجاد رابط کاربری بومی که به شما امکان می دهد توسعه رابط کاربری را در اندروید ساده و تسریع کنید.
آموزش استفاده از Jetpack، آموزش استفاده از Jetpack، آموزش استفاده از Jetpack
آموزش مبانی,آموزش مبانی,آموزش مبانی
کتابخانههای ضروری Jetpack را در دوره آموزشی Android Basics with Compose بیاموزید و در برنامهتان از boilerplate کم کنید
کتابخانه های ضروری Jetpack را در دوره Android Basics with Compose بیاموزید و در برنامه خود کاهش دهید
کتابخانه های ضروری Jetpack را در دوره Android Basics with Compose بیاموزید و در برنامه خود کاهش دهید
آموزش عملی,آموزش عملی,آموزش عملی
با سه کتابخانه Jetpack که لایه داده شما را ساده میکنند، عمل کنید: LiveData، ViewModel و Room
با سه کتابخانه Jetpack که لایه داده شما را ساده می کند، به طور عملی استفاده کنید: LiveData، ViewModel و Room
با سه کتابخانه Jetpack که لایه داده شما را ساده می کند، به طور عملی استفاده کنید: LiveData، ViewModel و Room
اکنون در برنامه نمونه اندروید، اکنون در برنامه نمونه اندروید، اکنون در برنامه نمونه اندروید
کاوش کنید که چگونه معماری مدرن اندروید در یک برنامه دنیای واقعی پیاده سازی شده است
کاوش کنید که چگونه معماری مدرن اندروید در یک برنامه دنیای واقعی پیاده سازی شده است
کاوش کنید که چگونه معماری مدرن اندروید در یک برنامه دنیای واقعی پیاده سازی شده است
کتابخانه های Jetpack همه کتابخانه ها را کاوش کنید
* کتابخانههای محبوب و پرکاربرد ابتدا فهرست شدهاند
فعالیت * | به APIهای قابل ترکیب ساخته شده بر روی Activity دسترسی داشته باشید. |
طراحی متریال ۳ کامپوننتهای تطبیقی | رابطهای کاربری تطبیقی را با اجزای طراحی متریال ۳ بسازید. |
سازگار با برنامه * | امکان دسترسی به APIهای جدید را در نسخههای قدیمیتر API پلتفرم (که بسیاری از آنها از طراحی متریال استفاده میکنند) فراهم میکند. |
جستجوی برنامه * | قابلیتهای جستجوی درونبرنامهای سفارشی برای کاربران خود ایجاد کنید. |
دوربین * | ساخت اپلیکیشن دوربین موبایل |
انشا * | رابط کاربری خود را به صورت برنامهنویسی شده با توابع ترکیبی که شکل و وابستگیهای دادهای آن را توصیف میکنند، تعریف کنید. |
اتصال داده * | اجزای رابط کاربری را در طرحبندیهای خود با استفاده از یک قالب اعلانی به منابع داده در برنامه خود متصل کنید. |
قطعه * | برنامه خود را به چندین صفحه مستقل که درون یک Activity میزبانی میشوند، تقسیم کنید. |
دسته * | قابلیت Dagger Hilt را گسترش دهید تا تزریق وابستگی کلاسهای خاصی از کتابخانههای androidx را فعال کنید. |
چرخه حیات * | کامپوننتهای آگاه از چرخه حیات بسازید که بتوانند رفتار را بر اساس وضعیت فعلی چرخه حیات یک اکتیویتی یا فرگمنت تنظیم کنند. |
اجزای طراحی متریال * | اجزای رابط کاربری متریال دیزاین ماژولار و قابل تنظیم برای اندروید. |
ناوبری * | رابط کاربری درون برنامهای خود را بسازید و ساختار دهید، لینکهای عمیق را مدیریت کنید و بین صفحات حرکت کنید. |
صفحه بندی * | دادهها را در صفحات بارگذاری کنید و آن را در یک RecyclerView ارائه دهید. |
اتاق * | ایجاد، ذخیره و مدیریت دادههای پایدار با پشتیبانی پایگاه داده SQLite. |
آزمون * | تست در اندروید. |
کار * | وظایف پسزمینه مبتنی بر محدودیت و قابل تعویق را زمانبندی و اجرا کنید. |
تبلیغات | یک شناسه تبلیغاتی با یا بدون خدمات Play دریافت کنید. |
حاشیه نویسی | ابردادههایی را نمایش دهید که به ابزارها و سایر توسعهدهندگان کمک میکند کد برنامه شما را درک کنند. |
توابع برنامه | انجام دهید |
آرچ.کور | کمکی برای سایر وابستگیهای آرچ، از جمله قوانین تست JUnit که میتوانند با LiveData استفاده شوند. |
ناهمزمانسازی | برای جلوگیری از بروز مشکلات در رابط کاربری، طرحبندیها را به صورت ناهمگام (asynchronously) پر کنید. |
تکمیل خودکار | دقت تکمیل خودکار را از طریق افزودن نکات بهبود دهید. |
معیار | عملکرد کد خود را در اندروید استودیو به طور دقیق اندازهگیری کنید. |
بیومتریک | با استفاده از اطلاعات بیومتریک یا اعتبارنامههای دستگاه، احراز هویت کنید و عملیات رمزنگاری را انجام دهید. |
بلوتوث | از ویژگیهای بلوتوث پلتفرم اندروید با APIهای سازگار با نسخههای قبلی استفاده کنید. |
مرورگر | نمایش صفحات وب در مرورگر پیشفرض کاربر. |
پرس و جوی ترکیب ویژگی دوربین | قابلیت های دوربین را بررسی کنید. |
دوربین.رسانه3 | انجام دهید |
دوربین.منظره یاب | منظرهیاب مستقل و قابل ترکیب و مبتنی بر نما برای دوربین |
اپلیکیشن ماشین | برنامههای قالببندیشده برای اندروید اتو و سیستم عامل اندروید اتوموتیو بسازید. |
کارت ویو | الگوی کارت Material Design را با گوشههای گرد و سایههای برجسته پیادهسازی کنید. |
مجموعه | کاهش تأثیر حافظه بر مجموعههای موجود و جدید که کوچک هستند. |
ساخت.انیمیشن | برای غنیسازی تجربه کاربری، در برنامههای Jetpack Compose خود انیمیشن بسازید. |
کامپایلر compose | توابع @Composable را تبدیل کنید و بهینهسازیها را با یک افزونه کامپایلر Kotlin فعال کنید. |
آهنگسازی.بنیاد | با استفاده از بلوکهای سازنده آماده، برنامههای Jetpack Compose بنویسید و پایه و اساس را برای ساخت قطعات سیستم طراحی خود گسترش دهید. |
نوشتن.ماده | رابطهای کاربری Jetpack Compose را با کامپوننتهای آمادهی طراحی متریال بسازید. این نقطهی ورود سطح بالاتر Compose است که برای ارائه کامپوننتهایی مطابق با کامپوننتهای شرح داده شده در www.material.io طراحی شده است. |
ترکیب.material3 | ساخت رابطهای کاربری Jetpack Compose با کامپوننتهای Material Design 3، تکامل بعدی طراحی متریال. متریال ۳ شامل قالببندی و کامپوننتهای بهروز شده و ویژگیهای شخصیسازی Material You مانند رنگ پویا است و به گونهای طراحی شده است که با سبک بصری جدید اندروید ۱۲ و رابط کاربری سیستم هماهنگ باشد. |
ترکیب.ماده۳.انطباقی | از کتابخانه تطبیقی Material 3 برای ایجاد رابطهای کاربری تطبیقی استفاده کنید که به طور خودکار با توجه به پیکربندیهای فعلی پنجره مانند کلاسهای اندازه پنجره یا موقعیتهای دستگاه، خود را تطبیق میدهند. این کتابخانه هم پیادهسازیهای پیشفرض scaffold و هم کامپوننتهای بلوک سازنده لازم را برای ایجاد تجربیات سفارشی شما فراهم میکند. |
نوشتن.زمان اجرا | بلوکهای سازندهی اساسی مدل برنامهنویسی و مدیریت حالت Compose، و زمان اجرای اصلی برای افزونهی کامپایلر Compose جهت هدف قرار دادن. |
آهنگسازی.ui | اجزای اساسی رابط کاربری compose که برای تعامل با دستگاه مورد نیاز هستند، شامل طرحبندی، ترسیم و ورودی. |
همزمان | وظایف را با استفاده از کوروتینها از نخ اصلی خارج کنید و از ListenableFuture بهره ببرید. |
طرح محدودیت | ویجتها را به روشی انعطافپذیر با موقعیتیابی نسبی، موقعیت و اندازه دهید. |
محتواپیجر | بارگذاری و صفحهبندی دادههای ContentProvider در یک رشته پسزمینه. |
طرح هماهنگ کننده | ویجتهای سطح بالای برنامه، مانند AppBarLayout و FloatingActionButton را در موقعیت مناسب قرار دهید. |
هسته | جدیدترین ویژگیها و APIهای پلتفرم را هدف قرار دهید و در عین حال از دستگاههای قدیمیتر نیز پشتیبانی کنید. |
هسته.uwb | پیادهسازی UWB (فوق پهنباند) روی دستگاههای پشتیبانیشده. |
اعتبارنامهها | این کتابخانه دسترسی یکپارچه به اطلاعات کاربری را فراهم میکند. این اطلاعات میتواند شامل رمزهای عبور، کلیدهای عبور و اطلاعات کاربری یکپارچه باشد. این کتابخانه باید برای ارائه تجربههای ورود امن و یکپارچه مورد استفاده قرار گیرد. |
رویدادهای اعتبارسنجی ارائهدهنده | انجام دهید |
اعتبارنامهها.رجیستری | برای حل این مشکلات، ما در حال اضافه کردن یک مکانیزم رجیستری جدید هستیم که به یک برنامه اجازه میدهد تا اعتبارنامههای دیجیتال را به روشی با حفظ حریم خصوصی ارائه دهد. در سطح بالا، برنامه ارائه دهنده، تمام اعتبارنامههای دیجیتال کاندید خود را از قبل در Credential Manager ثبت میکند. هنگامی که Credential Manager درخواستی از برنامه برای یک اعتبارنامه دیجیتال خاص دریافت میکند، رابط کاربری تطبیق اعتبارنامه و انتخابگر کاربر را در یک sandbox اجرا میکند. |
آداپتور مکان نما | دادههای مکاننما را در اختیار یک ویجت ListView قرار دهید. |
نمای سفارشی | پیادهسازی نماهای سفارشی |
فروشگاه داده | دادهها را به صورت غیرهمزمان، مداوم و تراکنشی ذخیره کنید و بر برخی از معایب SharedPreferences غلبه کنید. |
سندفایل | مشاهده سند فایل. |
کشیدن و رها کردن | دادههای کشیدن و رها کردن را از برنامهی دیگر یا درون یک برنامه بپذیرید و یک هدف رها کردن ثابت را نشان دهید. |
طرح کشو | یک ویجت کشوی طراحی متریال پیادهسازی کنید. |
پویانمایی | با استفاده از API انیمیشن مبتنی بر فیزیک، انیمیشنهای روان بسازید. |
ایموجی | نمایش ایموجی در دستگاههای فعلی و قدیمیتر. |
ایموجی۲ | نمایش ایموجی در دستگاههای فعلی و قدیمیتر. |
شرکت | برنامههای کاربردی آماده برای سازمان ایجاد کنید. |
رابط exif | خواندن و نوشتن تگهای EXIF فایلهای تصویری |
بازیها | از کیت توسعه نرمافزار بازی اندروید (Android Game SDK) به صورت بومی در برنامه خود استفاده کنید تا وظایف پیچیده بازی، مانند تنظیم فریمها (Frame Pacing)، را انجام دهید. |
نگاه اجمالی | با استفاده از یک API به سبک Jetpack Compose، طرحبندیهایی برای سطوح از راه دور بسازید. |
گرافیک | از امکانات گرافیکی در نسخههای مختلف پلتفرم اندروید استفاده کنید |
طرح شبکهای | یک طرح شبکهای (grid layout) پیادهسازی کنید. |
سلامت | برنامههای کاربردی سلامت کارآمد را به روشی مستقل از پلتفرم ایجاد کنید. |
سلامت.اتصال | به توسعهدهندگان اجازه میدهد سوابق سلامت و تناسب اندام کاربر را بخوانند یا بنویسند. |
نویسندهی هایف | با استفاده از کدکهای موجود در دستگاه اندروید، یک تصویر یا مجموعهای از تصاویر را با فرمت HEIF کدگذاری کنید. |
جوهر | الهامبخش بهترین برنامههای قلم در کلاس خود باشید. موانع ورود توسعهدهندگان را برای تجربههای با عملکرد بالا و زیبا در زمینهی قلمزنی کاهش دهید. |
ورودی | کاهش تأخیر تعاملات ورودی با پیشبینی MotionEvents آینده |
درونیاب | از میانیابهای انیمیشن در پلتفرمهای قدیمیتر استفاده کنید. |
موتور جاوا اسکریپت | برنامه اندروید خود را برای ارزیابی جاوا اسکریپت فعال کنید. |
جتیفایر | ابزاری مستقل که وابستگیهای یک کتابخانه را از کتابخانه پشتیبانی منسوخشده به وابستگیهای معادل AndroidX منتقل میکند. |
تکیهگاه | به جای این مصنوع، از «نوشتن برای تلویزیون» استفاده کنید. |
میراث | این محصول و کلاسهای آن منسوخ شدهاند. از اندروید ۸ به بعد، محدودیتهای بررسی پسزمینه، این کلاس را دیگر مفید نمیسازد. |
پرز | بررسیهای Lint برای تأیید استفاده از APIهای Gradle |
لودر | دادههایی را برای رابط کاربری خود بارگذاری کنید که از تغییرات پیکربندی جان سالم به در ببرند. |
مدیر پخش محلی | این مصنوع و کلاسهای آن منسوخ شدهاند. به جای آن از LiveData یا جریانهای واکنشی استفاده کنید. |
رسانه | اشتراکگذاری محتوا و کنترلهای رسانه با سایر برنامهها. جایگزین شده توسط media3. |
رسانه۳ * | پشتیبانی از کتابخانهها برای موارد استفاده رسانهای. |
روتر رسانهای | نمایش و پخش رسانه را در دستگاههای گیرنده از راه دور با استفاده از یک رابط کاربری مشترک فعال کنید. |
مولتیدکس | برنامههایی با چندین فایل dex را روی دستگاههای قبل از اندروید ۵ مستقر کنید. |
معیارها | معیارهای مختلف زمان اجرا را برای برنامه خود پیگیری و گزارش کنید |
ناوبری3 | Navigation 3 یک کتابخانه ناوبری جدید است که برای کار با Compose طراحی شده است. |
رویداد ناوبری | کتابخانه رویداد ناوبری، یک API مبتنی بر KMP برای مدیریت بازگشت سیستم و همچنین [بازگشت پیشبینیکننده](/guide/navigation/custom-back/predictive-back-gesture) ارائه میدهد. |
پالت | پالتهای رنگی نماینده را از تصاویر استخراج کنید. |
پی دی اف | کتابخانهای برای افزودن قابلیتهای مشاهدهی فایلهای PDF در داخل برنامهها. |
درصد طرح | این آرتیفکت و کلاسهای آن منسوخ شدهاند. به جای آن از ConstraintLayout و طرحبندیهای مرتبط استفاده کنید. |
عملکرد | حاشیهنویسیهای منبع را برای بهینهسازی عملکرد ارائه میدهد. |
فوتوپیکر | این کتابخانه امکان یکپارچهسازی Compose و Android Views را برای انتخابگر عکس تعبیهشده فراهم میکند. |
ترجیح | بدون نیاز به تعامل با حافظه دستگاه یا مدیریت رابط کاربری، صفحات تنظیمات تعاملی بسازید. |
چاپ | عکسها، اسناد و سایر گرافیکها و تصاویر را از برنامه خود چاپ کنید. |
privacysandbox.activity | انجام دهید |
privacysandbox.ads | این کتابخانه امکان ادغام با APIهای حفظ حریم خصوصی را فراهم میکند که بخشی از Privacy Sandbox در اندروید هستند. |
privacysandbox.plugins | کتابخانه SDK سندباکس حریم خصوصی اندروید، افزونه Gradle |
privacysandbox.sdkruntime | این کتابخانه کامپوننتهایی را برای مصرفکنندگان آگاه از SdkRuntime فراهم میکند. |
ابزار PrivacySandbox | کتابخانهای برای استفاده از قابلیت Privacy Sandbox در اندروید |
privacysandbox.ui | انجام دهید |
نصبکننده پروفایل | کتابخانهها را قادر میسازد تا ردپاهای کامپایل را از قبل آماده کنند تا توسط ART خوانده شوند. |
توصیه | محتوا را به صفحه اصلی لانچر تلویزیون اندروید منتقل کنید. |
بازیافتکننده | نمایش مجموعههای بزرگی از دادهها در رابط کاربری شما، ضمن به حداقل رساندن استفاده از حافظه. |
تماس از راه دور | یک پوشش ایجاد کنید که ارائه PendingIntent را برای توسعهدهندگان آسانتر کند. |
بازرسی منابع | ویژگیهای نماهای سفارشی را در Live Layout Inspector اندروید استودیو بررسی کنید. |
ذخیره شده | کامپوننتهای قابل اتصالی بنویسید که وضعیت رابط کاربری را هنگام از کار افتادن یک فرآیند ذخیره کنند و هنگام راهاندازی مجدد فرآیند، آن را بازیابی کنند. |
امنیت | کلیدها را با خیال راحت مدیریت کنید و فایلها و تنظیمات اشتراکی را رمزگذاری کنید. |
اشتراکگذاری | سازگاری رو به عقب را برای استفاده از میانبرها به عنوان اهداف اشتراکگذاری مستقیم فراهم کنید. |
برش | عناصر رابط کاربری قالببندیشده را خارج از برنامه خود نمایش دهید. |
طرح بندی کشویی | یک الگوی رابط کاربری کشویی پیاده سازی کنید. |
استارتاپ | یک روش ساده و کارآمد برای مقداردهی اولیه کامپوننتها در هنگام راهاندازی برنامه پیادهسازی کنید. |
اسکیلایت | با پایگاههای داده محلی SQLite کار کنید. در صورت امکان، به جای آن از Room استفاده کنید. |
swiperefreshlayout | الگوی رابط کاربری با کشیدن انگشت برای تازه کردن صفحه (swipe-to-refresh) را پیادهسازی کنید. |
تست.uiautomator | چارچوبی برای تست رابط کاربری چند برنامهای |
طبقهبندیکننده متن | مکالمات، پیوندها، انتخابها و سایر ساختارهای مشابه را در متن تشخیص میدهد. |
ردیابی | رویدادهای ردیابی را در بافر ردیابی سیستم بنویسید. |
گذار | حرکت را در رابط کاربری با طرحبندیهای شروع و پایان، متحرکسازی کنید. |
تلویزیون | قابلیتهای طراحی Compose و Material را برای توسعهدهندگان فراهم میکند تا بتوانند برنامههایی برای تلویزیون بنویسند. |
ارائه دهنده تلویزیون | ارائه کانالهای تلویزیونی اندروید |
متن | انجام دهید |
xr.arcore | محتوای دیجیتال را با قابلیتهای ادراکی به دنیای واقعی بیاورید. |
xr.compose | به صورت اعلانی طرحبندیهای رابط کاربری فضایی بسازید که از قابلیتهای فضایی اندروید XR بهره ببرند. |
xr.compose.material3 | با کامپوننتها و طرحبندیهای متریال که برای واقعیت افزوده (XR) سازگار هستند، بسازید |
زمان اجرا xr | جلسه AR یا 3D سفارشی خود را با زمان اجرای بومی ما شروع کنید. |
xr.scenecore | ساخت و دستکاری نمودار صحنه اندروید XR با محتوای سهبعدی. |
بردار-ترسیمپذیر | گرافیکهای برداری را رندر کنید. |
نسخهبندیشدهبستهبندیشده | یک قالب سریالسازی دودویی پایدار و فشرده ارائه میدهد که میتواند در فرآیندها منتقل شود یا با خیال راحت ذخیره شود. |
ویوپیجر | نمایش نماها یا قطعات (Fragments) در قالبی که بتوان آنها را با کشیدن انگشت روی صفحه نمایش داد. در صورت امکان، به جای آن از viewpager2 استفاده کنید. |
مشاهده صفحه2 | نمایش نماها یا قطعات در قالبی قابل کشیدن. |
پوشیدن | برای ساعتهای هوشمند Wear OS by Google اپلیکیشن بسازید. |
پوشیدن.نوشتن | با ارائه قابلیتهایی برای پشتیبانی از اندازههای مختلف دستگاه و حرکات ناوبری، میتوانید با استفاده از Jetpack Compose برنامههایی برای دستگاههای Wear OS بنویسید. |
طرح اولیه لباس | این کتابخانه امکان تعریف مجموعهای از طرحبندیهای رابط کاربری و عبارات غیر رابط کاربری را برای رندر/ارزیابی در سطوح از راه دور فراهم میکند. |
کاشیهای فرسوده | برای ساعتهای هوشمند Wear OS by Google اپلیکیشن بسازید. |
صفحه ساعت. | برای ساعتهای هوشمند Wear OS by Google اپلیکیشن بسازید. |
پوشیدن.ساعت.فیسپوش | قابلیت Watch Face Push به یک اپلیکیشن Wear OS اجازه میدهد تا به صورت برنامهنویسی شده، یک واچ فیس را روی ساعت نصب کند. |
وبکیت | با API های مدرن WebView در اندروید ۵ و بالاتر کار کنید. |
پنجره | به پشتیبانی از فرم فاکتورهای مختلف دستگاه مانند دستگاههای تاشو کمک میکند. |
هسته.افزونههای پنجره | رابطهای برنامهنویسی کاربردی (API) اصلی برای افزونههای کتابخانهی مدیر پنجره |
چرا از Android Jetpack استفاده کنیم؟، چرا از Android Jetpack استفاده کنیم؟، چرا از Android Jetpack استفاده کنیم؟
بهترین شیوه ها را دنبال کنید
کتابخانههای Android Jetpack که بر اساس شیوههای طراحی مدرن ساخته شدهاند، خرابیهای کمتر و نشت حافظه کمتری را با سازگاری با عقب فراهم میکنند.
کتابخانههای Android Jetpack که بر اساس شیوههای طراحی مدرن ساخته شدهاند، خرابیهای کمتر و نشت حافظه کمتری را با سازگاری با عقب فراهم میکنند.
کتابخانههای Android Jetpack که بر اساس شیوههای طراحی مدرن ساخته شدهاند، خرابیهای کمتر و نشت حافظه کمتری را با سازگاری با عقب فراهم میکنند.
حذف کد دیگ بخار، حذف کد دیگ بخار، حذف کد دیگ بخار
Android Jetpack فعالیتهای خستهکننده مانند کارهای پسزمینه، ناوبری و مدیریت چرخه زندگی را مدیریت میکند، بنابراین میتوانید روی چیزهایی تمرکز کنید که برنامهتان را عالی میکند.
Android Jetpack فعالیتهای خستهکننده مانند کارهای پسزمینه، ناوبری و مدیریت چرخه زندگی را مدیریت میکند، بنابراین میتوانید روی چیزهایی تمرکز کنید که برنامهتان را عالی میکند.
Android Jetpack فعالیتهای خستهکننده مانند کارهای پسزمینه، ناوبری و مدیریت چرخه زندگی را مدیریت میکند، بنابراین میتوانید روی چیزهایی تمرکز کنید که برنامهتان را عالی میکند.
کاهش پراکندگی،کاهش پراکندگی،کاهش پراکندگی
با کتابخانه هایی که به طور مداوم در نسخه ها و دستگاه های Android کار می کنند، پیچیدگی را کاهش دهید.
با کتابخانه هایی که به طور مداوم در نسخه ها و دستگاه های Android کار می کنند، پیچیدگی را کاهش دهید.
با کتابخانه هایی که به طور مداوم در نسخه ها و دستگاه های Android کار می کنند، پیچیدگی را کاهش دهید.