اندروید ایکس چیست و مهاجرت به AndroidX در اندروید استودیو چگونه است؟

مهاجرت به AndroidX در اندروید استودیو
اندروید ایکس چیست ؟ اندروید X چیست - مهاجرت به AndroidX - سایت برنامه نویسی اندروید الکامکو

پشتیبانی کتابخانه اندروید (Android Support Library) چیست؟ 

قبل از اینکه بدانید اندروید ایکس چیست اول با این کتابخانه اندروید آشنا شوید. وقتی شما برنامه ای را روی آخرین ورژن اندروید، مثلا اندروید ۴.۰، بسط می دهید و می خواهید آن را روی دستگاه هایی که دارای ورژن های قدیمی تر اندروید هستند، مثلا اندروید ۳.۲، اجرا کنید باید سازش پذیری معکوس را به کد برنامه اضافه کنید تا این کار امکان پذیر شود.

برای تامین سازش پذیری معکوس، اندروید پکیج Android Support Library را به شما ارائه می دهد. این پکیج مجموعه ای از کد کتابخانه هایی است که ورژن های سازش پذیری معکوس را در چارچوب API های اندروید و همچنین ویژگی هایی که فقط از طریق API های کتابخانه در دسترس هستند، ا ارائه می دهد. هر Support Library یک سازش پذیر معکوس برای یک سطح خاص از Android API می باشد.

بسته به دامنه ی ورژن های سکویی که مورد نظر برنامه ی شماست و API هایی که استفاده می کند، وارد کردن Support Library به پروژه ی اندروید، به عنوان بهترین تمرین برای بسط دهندگان برنامه ها تلقی می شود.

اندروید ایکس چیست ؟

اندروید ایکس (AndroidX) پروژه منبع بازی است که تیم اندروید از آن برای توسعه، تست، پکیجیگ، نسخه و انتشار کتابخانه ها از Jetpack استفاده می کند. اندروید x نقش عمده ای در Support Library اندروید دارد. برخلاف Support Library ، پکیج های AndroidX جداگانه نگهداری و به روز می شوند.

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

برای مثال کتابخانه Appcompat که بعد از ساخت پروژه در اندروید استودیو این لایبرری به صورت زیر در فایل build.gradle مربوط به ماژول app قرار می‌گرفت:

implementation ‘com.android.support:appcompat-v7’

اما هم اکنون این کتابخانه به صورت زیر به پروژه اضافه میشود :

implementation ‘androidx.appcompat:appcompat’

دلایل مهاجرت به اندروید X چیست ؟ 

  • ازین به بعد نامگذاری  Android Support Library همگی با پیشوند androidx شروع می‌شود.
  • دلیل اصلی معرفی AndroidX، نحوه نامگذاری منسجم و یکپارچه پکیج‌ها بوده و کمتر باعث سردرگمی برنامه نویسان اندرویدی می شود.
  • لازم به ذکر است که این تغییرات فقط مربوط به تغییر نحوه نامگذاری نیست و تعداد زیادی از باگ‌های نسخه‌های قدیم نیز گرفته شده است.
  • همانطور که گفتیم تیم توسعه اندروید از Jetpack برای توسعه ، تست و انتشار کتابخانه‌های AndroidX استفاده می‌کند که باعث می شود کتابخانه‌ها نسبت به قبل بهینه‌تر بوده و حجم کمتری داشته باشند.
  • اگر می خواهید اشکالات رفع شده باشند و یا ویژگی های جدیدی داشته باشید که قبلاً به Android Support Library وارد شده بودند ، باید به AndroidX مهاجرت کنید.
  • با اندروید X ، نسخه استاندارد و مستقل و همچنین نامگذاری استانداردتر و نسخه های مکررتری دریافت می کنید.
  • سایر کتابخانه ها برای استفاده از کتابخانه های فضای نام AndroidX از جمله سرویس های Google Play ، Firebase ، Butterknife ، Mockito 2 و SQLDelight بهمراه سایر موارد، مهاجرت کرده اند.
  • همه کتابخانه های جدید Jetpack در فضای نام AndroidX منتشر می شوند. بنابراین، به عنوان مثال ، برای استفاده از Jetpack Compose یا CameraX ، باید به فضای نام AndroidX مهاجرت کنید.

معرفی Jetpack در اندروید :

جت پک ، به مجموعه‌ای از کتابخانه‌ها و ابزارها گفته می‌شود که به دلیل راحتی در ساخت اپلیکیشن‌های اندروید منتشر شده‌اند. به طور کلی ،Jetpack و پکیج ‌های آن یعنی اندروید X به دلیل بهبود ساخت پروژه توسط توسعه دهندگان اندروید در یک قالب مشترک معرفی شده‌اند.

میزان اهمیت مهاجرت به اندروید X در اندروید استودیو از Support Library :

هم اکنون شاید الزامی در این مهاجرت دیده نشود. امکان استفاده از کتابخانه‌های Support الان نیز وجود دارد. البته با محدودیت‌هایی که در ادامه آنها را بررسی می کنیم.

ولی بهتر است هرچه زودتر پروژه های خودمان را با نسخه جدید تطابق دهیم . تا ورژن ۳.۵ اندروید استودیو ، هنگام ساخت پروژه جدید ، استفاده از AndroidX اختیاری میباشد . احتمالا در آینده در نسخه های بعدی این گزینه به صورت پیش فرض فعال میشود و امکان تغییر آن وجود ندارد .

مهاجرت به AndroidX در اندروید استودیو

نکات مهاجرت به AndroidX در اندروید استودیو :

غیرفعال بودن گزینه Use androidx.* artifacts به عنوان یادوآری برای توسعه دهندگان میباشد و مسلما در نسخه‌های بعدی اندروید استودیو ، حذف خواهد شد.

اگر میخواهید پروژه جدید در اندروید استودیو ایجاد کنید ، کتابخانه جدید Appcompat در پروژه قرار دارد و هنگام اضافه کردن سایر کتابخانه‌های Support نیز پکیج‌های androidx در لیست نمایش داده میشوند.

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

نکته خیلی مهم : قبل از انجام هرگونه تغییر در پروژه حتما یک نسخه بکاپ از آن تهیه کنید تا اگر در حین مهاجرت با مشکلی مواجه شدید ، سورس اصلی پروژه را در اختیار داشته باشید.

۱ . مهاجرت به اندروید ایکس با بروزرسانی دستی :

برای مهاجرت به اندروید ایکس به روش دستی احتمالا زمان زیادی را باید صرف کنیم.

بعد از تغییر نام کتابخانه‌ها در build.gradle مربوط به ماژول اپ باید import های موجود در اکتیویتی‌ها نیز تصحیح شوند . به عنوان مثال :

import android.support.v7.app.AppCompatActivity;

باید با :

import androidx.appcompat.app.AppCompatActivity;

جایگزین شود. همچنین این تغییرات باید در تگ‌های لایه xml نیز انجام شود .

برای مثال :

android.support.constraint.ConstraintLayout

با

androidx.constraintlayout.widget.ConstraintLayout

جایگزین میشود . علاوه بر آن باید دو خط زیر نیز به gradle.properties اضافه شود تا androidx فعال شود . روش دستی برای مهاجرت به androidx توصیه نمی‌شود.

android.useAndroidX=true

android.enableJetifier=true

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

در خط بعد، پلاگین اندروید بوسیله enableJetifier به صورت خودکار با بازنویسی دودویی (binary) کتابخانه‌های شخص سوم (کتابخانه‌هایی که توسط سایر افراد و تیم‌های غیر از تیم توسعه اندروید منتشر می‌شوند) آنها را برای استفاده از androidx آماده می‌کند.

توجه : برای استفاده از androidx ورژن اندروید استودیو باید حداقل ۳٫۲ باشد . همچنین (compileSdkVersion و targetSdkVersion) نیز باید ۲۸ و به بالا باشد. ضمنا از API 29 و به بعد فقط باید از androidx استفاده کرد .

۲ . مهاجرت به اندروید ایکس با بروزرسانی خودکار :

از Android Studio ورژن ۳.۲ به بعد امکانی فراهم شده که پروژه‌های قبلی را بتوان به صورت خودکار و بدون نیاز به ویرایش دستی به پروژه‌ای بر پایه پکیج‌های androidx تبدیل کرد.

برای استفاده از این قابلیت بعد از باز کردن پروژه در محیط اندروید استودیو، در منوی Refactor گزینه Migrate to AndroidX را انتخاب کنید:

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

مهاجرت به AndroidX در اندروید استودیو

بعد از انتخاب این گزینه پیام زیر نمایش داده میشود :

مهاجرت به AndroidX در اندروید استودیو

در این پیغام توصیه شده قبل از شروع عملیات یک نسخه پشتیبان (backup) از پروژه تهیه شود که به راحتی می‌توان پوشه مربوط به پروژه را در جایی دیگر ذخیره کرد .

همچنین خود اندروید استودیو گزینه ای با عنوان Backup project as Zip file به انتهای این پنجره اضافه کرده که در صورت تایید ، یک بکاپ به صورت خودکار و با فرمت zip ایجاد می‌شود .

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

در ابتدا محل ذخیره بکاپ پروژه را مشخص می‌کنیم :

مهاجرت به AndroidX در اندروید استودیو

اندروید استودیو توضیحاتی از تغییرات پروژه برای مهاجرت به androidx را نمایش می‌دهد که با کلیک روی Do refactor تایید و عملیات اجرا می‌شود :

مهاجرت به AndroidX در اندروید استودیو
مهاجرت به AndroidX در اندروید استودیو

در این پروژه بدون هیچگونه خطایی تبدیل به راحتی انجام شد . البته این یک پروژه بسیار ساده بود .

در پروژه‌های سنگین که از کتابخانه‌های زیادی استفاده کرده اید ، احتمال بروز خطا و نیاز به تغییرات دستی بالاتر است .

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

سخن آخر 

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

الکامکو می تواند به شما در یادگیری دوره های آموزش برنامه نویسی اندروید کمک کند تا شما را به یک برنامه نویس اندروید حرفه ای تبدیل کند.

در صورتیکه می خواهید یک اپلیکیشن اندرویدی برای کسب و کار خودتان یا مشتریان خود درست کنید پکیج آموزش برنامه نویسی اندروید با Android Studio  که در زیر میبینید را به شما پیشنهاد می کنیم.

پیشنهادات ویژه برای شما

دوره جامع آموزش برنامه نویسی اندروید برای ورود به بازار کار

برای اینکه شما عزیزان بتوانید برنامه نویسی اندروید را از صفر تا صد و پروژه محوری یاد بگیرید، این دوره حرفه ای را برای شما آماده کردیم که بتوانید با مشاهده این فیلم های آموزشی که هزینه خیلی کمی را نسبت به کلاس رفتن و وقت گرفتن از شما می گیرد، به یک برنامه نویس حرفه ای اندروید تبدیل شوید و بتوانید هر اپلیکیشن موبایل اندرویدی را بسازید و از انها کسب درآمد کنید و وارد بازار کار اندروید شوید.

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

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

آموزش اندروید استودیو - آموزش android studio - آموزش برنامه نویسی اندروید الکامکو - ساخت اپلیکیشن اندروید

commentشما بگید!

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

توجه

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

shareاشتراک گذاری این مطلب

shareآخرین مقالات

توجه

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

Generic filters
Exact matches only

آخرین مقالات

آموزش های تکمیل شده

توجه

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

1 دیدگاه
بازخورد درون خطی
مشاهده همه نظرات
نــــــNedaـــــــدا
3 سال گذشته

عالی بود ، مرسی از مطلب خوبتتون