جستجو برای:
سبد خرید 0
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
ورود
گذرواژه خود را فراموش کرده اید؟
عضویت

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

ارسال مجدد کد یکبار مصرف (00:60)
  • 02188945907
  • info@amooznegar.com
  • لیست علاقه مندی ها
آکادمی آموزنگار
  • خانه
  • دوره های آموزشی
    • دوره های حضوری و آنلاین
      • دوره جامع برنامه نویسی اندروید
      • دوره جامع برنامه نویسی فلاتر
      • دوره برنامه نویسی React Native
      • دوره آموزشی برنامه نویسی iOS
    • دوره های متخصص و حرفه ای
      • دوره متخصص اندروید (پروژه محور)
      • دوره متخصص فلاتر (پروژه محور)
      • دوره آموزش امنیت در اندروید
      • دوره درآمدزایی دلاری از گوگل پلی در ایران
  • آموزش رایگان
    • دوره رایگان اندروید
    • دوره رایگان فلاتر
  • مشاورهجدید
  • دوره VIP
  • وبلاگ
شروع کنید
آخرین اطلاعیه ها
لطفا برای نمایش اطلاعیه ها وارد شوید
0

وبلاگ

آکادمی آموزنگار > اخبار > برنامه نویسی > اندروید > Jetpack در اندروید چیست و چرا باید از آن استفاده کنیم؟

Jetpack در اندروید چیست و چرا باید از آن استفاده کنیم؟

1399-05-22
ارسال شده توسط آموزنگار
اندروید
Jetpack در اندروید

Jetpack در اندروید مجموعه ای از ابزارها، کامپوننت ها و راهنمایی هاییست تا بتوان برنامه های کاربردی اندروید را آسان و سریع ایجاد کرد. کامپوننت های Jetpack در اندروید پشتیبانی از کتابخانه و مؤلفه‌های معماری موجود را به هم متصل می‌کنند و آن‌ها را به چهار دسته تقسیم می‌کنند:

Jetpack در اندروید

اجزای JetPack در اندروید

اجزای Android jetpack به عنوان کتابخانه “unbundled” ارائه می‌شوند یعنی جزئی از پلتفرم اندروید نیستند. این به این معنی است که شما می‌توانید هر کامپوننت را با سرعت و در یک زمان انتخاب کنید. زمانی که سیستم‌عامل اندروید جدید در دسترس است، می‌توانید Android jetpack را به برنامه خود اضافه کنید، برنامه خود را در Play Store قرار دهید و تمام ویژگی‌های جدید را در یک روز (در صورت سریع بودن) به کاربران نشان دهید! کتابخانه های unbundled Android Jetpack همه به namespace جدید androidx.* منتقل شده اند که از API های سیستم عامل جدا نشده است. این بدان معنی است که Jetpack با کل مجموعه سازگار شده است و اجزای Android Jetpack می توانند قابلیت های خود را مستقل از هر نسخه خاص ارائه دهند.

این مجموعه در موارد زیر به ما کمک می کنند:

  • پیروی از بهترین روش نوشتن boilerplate Code و جلوگیری از نوشتن کدهای تکراری
  • آسان ساختن کارهای پیچیده

که پیش از این، چالش های زیادی مانند موارد زیر وجود داشت:

  • مدیریت activity lifecycles (چرخه حیات اکتیویتی)
  • تغییرات پیکربندی Surviving
  • جلوگیری از Crash کردن و خطای memory leaks

راه حل همه این مشکلات Jetpack در اندروید است و تمام این موارد با Jetpack در اندروید برطرف شده است.

آپدیت‌های Android Jetpack زودتر از آپدیت‌های سیستم عامل اندروید ارائه می‌شود و این امر باعث می‌شود ما همیشه ورژن بروز شده آن را دریافت کنیم.

آپدیت‌های Android Jetpack

Android Jetpack دارای 5 جزء جدید است که عبارتند از:

  • WorkManager alpha release
  • Navigation alpha release
  • Paging stable release
  • Slices alpha release
  • Android KTX (Kotlin Extensions) alpha release

WorkManager

WorkManager یک کتابخانه قدرتمند است که می تواند زمانبندی کارهایی که نیاز به زمان زیادی دارند را در بکگراند مدیریت کند. این کتابخانه یک api ساده و مدرن است که توانایی کار بر روی دستگاه ها با یا بدون Google Play Services را فراهم می کند همچنین توانایی ایجاد گراف کار و توانایی درخواست query در حالت کار را نیز دارد. می توانید برای اطلاعات بیشتر  the WorkManager component را مطالعه کنید.

Navigation

در حالی که activity های سیستم، ورودی به UI برنامه شما را فراهم می‌آورد، انعطاف‌ناپذیری آن‌ها در زمان به اشتراک گذاری داده‌ها بین یکدیگر و انتقال آن‌ها به یک معماری ایده‌آل، برای ساخت navigation در درون برنامه، تبدیل کرده است؛ بنابراین در GoogleIO18  کامپوننت Navigation به عنوان فریمورک برای ساخت UI برنامه هایی با تنها یک اکتیویتی معرفی شد. با استفاده از پشتیبانی box support برای Fragments، تمام مزایای مولفه های معماری مانند Lifecycle و ViewModel را دریافت می کنید در حالی که به Navigation اجازه می دهید تا پیچیدگی FragmentTransactions را برای شما انجام دهد. علاوه بر این کامپوننت های Navigation اجازه اعلام انتقال را می دهند و به طور خودکار رفتن به صفحات قبل و بعد را به درستی انجام می دهند همچنین از پیوندهای عمیق پشتیبانی می کند و در اتصال ویجت های UI به اجزایی مانند navigation drawer و bottom navigation کمک می کند؛ اما این همه چیز نیست! Navigation Editor در Android Studio 3.2 به شما امکان می دهد ویژگی های navigation خود را بصورت بصری مشاهده و مدیریت کنید:

Navigation در چت پک اندروید

Paging

داده های زیاد و پرحجم در یک برنامه ممکن است مشاهده آن را طولانی و زمانبر کند برای این مورد شما می توانید از نمایش یکباره حجم عظیم اطلاعات جلوگیری کنید. Paging component version 1.0.0 این مشکل را حل کرده است و برای نمایش و اسکرول در RecyclerView مناسب است. این کامپوننت می تواند داده ها حافظه محلی، شبکه یا هر دو را صفحه بندی کند و به تدریج با تنظیماتی که انجام داده اید بارگذاری نماید. این کامپوننت با Room، LiveData و RxJava خارج از کادر کار می‌کند.

آموزش اندروید Auto
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

Slices

و در آخر اینکه Slices کامپوننتی است که Jetpack در اندروید برای تکمیل مجموعه ویژگی های خود گرد هم آورده است. یک Slice راهی برای پوشش UI شما در داخل Google Assistant می باشد. به نمونه جستجوی زیر دقت کنید:

Slices در جت پک اندروید

Android KTX

و اما نکته آخر، Jetpack در اندروید از ویژگی های زبان Kotlin استفاده می کند که می تواند کد برنامه شما را کم حجم تر و بهینه تر کند. Android KTX به شما امکان می دهد تا کد Kotlin را به صورت زیر تغییر دهید:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
view.viewTreeObserver.addOnPreDrawListener(
  
object : ViewTreeObserver.OnPreDrawListener {
  
override fun onPreDraw(): Boolean {
  
viewTreeObserver.removeOnPreDrawListener(this)
  
actionToBeTriggered()
  
return true
  
}
  
});

کد Android KTX به صورت زیر نوشته می‌شود:

1
view.doOnPreDraw { actionToBeTriggered() }

کامپوننت های Android Jetpack

کامپوننت های Jetpack در اندروید مجموعه ای از کتابخانه هاست که ضمن بهره گیری از ویژگی های زبان Kotlin که باعث تولید برنامه های ما می‌شود، بصورت جداگانه ساخته و قابل استفاده هستند.

این کامپوننت ها در 4 دسته قرار گرفته اند که شامل موارد زیر می شوند:

  • Foundation Components (کامپوننت های پایه)
  • Architecture Components (کامپوننت های معماری)
  • Behavior Components (کامپوننت های رفتاری)
  • UI Components

در ادامه هر کدام را بیشتر شرح می دهیم:

Foundation Components

Foundation Components موارد زیر را ارائه می دهند:

  • سازگاری با تمام ورژن های قبلی اندروید
  • تست برنامه
  • پشتیبانی از زبان Kotlin

Foundation Component ها به شرح زیر هستند:

App Compat: در نسخه های قدیمی تر اندروید با پشتیبانی از رابط کاربری طراحی شدند.

Android KTX: استفاده از افزونه ها برای نوشتن کدهای ساده و مختصر کاتلین

Multidex: پشتیبانی از برنامه با multiple dex files

۲۰ ابزار برتر برای توسعه اپلیکیشن های اندروید
خواندن این مقاله
قدرت گرفته از افزونه نوشته‌های مرتبط هوشمند

Test: framework تست برای تست UI برنامه ها در حالت runtime یا unit

Architecture Components

Architecture Components در ساخت برنامه ها با ویژگی های زیر به ما کمک می کنند:

  • برنامه های قوی
  • برنامه های قابل تست
  • قابلیت نگهداری برنامه ها

Architecture Component ها به شرح زیر هستند:

  • Data Binding: اتصال داده ها به عناصر UI
  • Lifecycles: مدیریت چرخه حیات اکتیویتی و فرگمنت ها
  • LiveData: نمایش نوتیفیکیشن هنگامی که تغییری در دیتابیس انجام شود
  • Navigation: با navigation می توان هر چیزی که در برنامه وجود دارد را مدیریت کرد
  • Paging: دریافت تدریجی داده های مورد نیاز از منبع داده
  • Room: دسترسی به دیتابیس SQLite
  • ViewModel: مدیریت هوشمند داده های نمایشی UI با استفاده از چرخه حیات اکتیویتی
  • WorkManager: مدیریت برنامه های در حال اجرا در پس زمینه برنامه اندرویدی

Behavior Components

Behavior Components برای ادغام شدن با سرویس های استاندارد اندروید در موارد زیر به ما کمک می کند:

  • Notifications (اعلان ها)
  • Permissions ( مجوزها)
  • Sharing (اشتراک گذاری)
  • Assistant (دستیار)

Behavior Component ها به شرح زیر هستند:

  • Download Manager: مدیریت دانلودهایی حجیم در پس زمینه با قابلیت سعی مجدد
  • Media & playback: API های سازگار با playback و routing (شامل Google Cast)
  • Notifications: API های کاملاً سازگار و پشتیبانی از Wear و Auto
  • Permissions: API های سازگاری برای بررسی و درخواست مجوز در برنامه
  • Preferences: ایجاد صفحه تنظیمات تعاملی برای پیکربندی
  • Sharing: عملکرد اشتراک گذاری مناسب برای همه برنامه های ارائه شده
  • Slices: ایجاد UI انعطاف پذیر به طوری که بتوان داده ها را خارج از اپلیکیشن نمایش داد و تا اندروید 4.4 قابل گسترش هستند.

UI Components

UI Components به شما کمک می کند تا برنامه شما علاوه بر اینکه آسان ساخته می‌شود لذت بخش هم باشد.

UI Component ها به شرح زیر هستند:

  • Animation and transitions: جابجایی بین صفحات یا ویجت ها
  • Auto: Component هایی برای نمایش مناسب برنامه های اندروید در هر صفحه ای
  • Emoji: فعال کردن فونت Emoji روی پلتفرم های قدیمی
  • Fragment: یک واحد پایه UI قابل مقایسه
  • Layout: ویجت ها را با استفاده از الگوریتم های مختلف تنظیم می کند.
  • Palette: اطلاعات مفیدی از پالت های رنگی می دهد.
  • TV: کامپوننت هایی برای توسعه برنامه های Android TV
  • Wear: کامپوننت هایی برای توسعه برنامه های Wear

نتیجه گیری

همانگونه که در این آموزش مشاهده کردید Jetpack اینگونه  در اندروید به ما کمک می کند و ما باید شروع پروژه های اندروید  استفاده از آن ها کنیم چون اینکار می تواند کاربر کلی و سرعت اپلیکیشن را بهبود ببخشد. خیلی خوشحال می شویم نظر خود را در مورد Jetpack در اندروید با ما در میان بگذارید.

قبلی خداحافظی با findViewById در اندروید
بعدی معرفی 8 وب سرور برتر و open Source

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
دسته‌ها
  • GoLang
  • jetpack compose
  • PHP
  • اپلیکیشن
  • امنیت
  • اندروید
  • اوپن سورس
  • برنامه نویسی
  • برنامه نویسی iOS
  • برنامه نویسی react native
  • پادکست صوتی
  • تکنولوژی
  • جاوا
  • طراح رابط کاربری
  • طراحی رابط کاربری
  • طراحی وب
  • عمومی
  • فریلنسر
  • فلاتر
  • فناوری
  • کاتلین
  • کتاب های آموزشی
  • کسب و کار
  • هوش مصنوعی
  • وردپرس
برچسب‌ها
admob coroutine dagger dagger-hilt jetpack nft rxandroid rxjava spring swift ارز دیجیتال امنیت در اندروید دارت فایربیس فوشیا مصاحبه کاری معماری mvi نقشه راه برنامه نویسی کاتلین گوگل

آکادمی آموزنگار، جایی برای آغاز یک سفر شگفت‌انگیز در دنیای برنامه‌نویسی است. آموزنگار تلاش می‌کند تا هر فردی را از هر سطحی از زندگی و تجربه به دنیای جذاب برنامه‌نویسی وارد کند.

دسترسی سریع
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • سوالات متداول
نمادها
شبکه های اجتماعی
Facebook Twitter Youtube icon--white Whatsapp

تهران، میدان ولی عصر،خیابان شهیدان سازش،کوچه سوم پلاک 5 طبقه سوم واحد 31

021-88945907

تمامی حقوق برای آکادمی آموزنگار محفوظ می باشد

اشتراک گذاری در شبکه های اجتماعی
ارسال به ایمیل
https://amooznegar.com/?p=10934
  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
مرورگر شما از HTML5 پشتیبانی نمی کند.

سوالی دارید؟ از ما بپرسید، کارشناسان ما در اسرع وقت با شما تماس می گیرند.

آموزنگار

آکادمی آموزنگار

  • 021-88945907
  • شنبه تا چهارشنبه از ساعت 8 تا 17
  • info@amooznegar.com
ورود
استفاده از شماره تلفن
استفاده از آدرس ایمیل
آیا هنوز عضو نشده اید؟ ثبت نام کنید
بازیابی رمز عبور
استفاده از شماره تلفن
استفاده از آدرس ایمیل
ثبت نام
استفاده از شماره تلفن
استفاده از ایمیل
قبلا عضو شده اید؟ ورود به سیستم
محافظت توسط