قبلا توی این آموزش با کتابخونه anko آشنا شدیم و دیدیم که میتونیم بدون نیاز به محیط گرافیکی اندروید استودیو و توی کلاس اکتیویتی خودمون هر چی که میخوایم رو بسازیم . ولی فکر کنم همه مون با این موضوع موافق هستیم که طراحی گرافیکی توی محیط دیزاین راحت تره ، تا ما بخوایم با کدنویسی خام توی کلاسمون اونارو طراحی کنیم . پس اگه میشد که ما هر چی که میخوایم رو توی محیط دیزاین قرار بدیم و بسازیم ، بعد اون کدهای xml رو به کاتلین تبدیل کنیم ، خیلی باحال میشد . مگه نه ؟! خوب این کار خوشبختانه انجام پذیر هست . 

اول از همه ، ما یه پلاگین نصب میکنیم توی اندروید استودیو . از منوی File به قسمت تنظیمات میریم و از قسمت Plugins و از قسمت Install Jetbrains Plugins این پلاگین رو سرچ میکنیم و نصب میکنیم : anko support 

وقتی که پلاگین رو نصب کردید ، باید اندروید استودیو رو Restart کنید . 

قبلا گفتم که چه جوری کتابخونه anko رو به کاتلین معرفی کنیم ، اینجا هم دوباره میگم . توی فایل build.gralde اصلی پروژه مون این کد رو اضافه میکنیم : 

و توی فایل build.gradle توی پوشه app این کدها رو اضافه میکنیم ( خط اول واسه معرفی anko کافی هست ، و اون ۴ خط دیگه مربوط به همین آموزش میشه ) : 

پروژه رو Sync میکنیم . حالا میریم به محیط دیزاین و لایوت خودمون رو طراحی میکنیم . وقتی که کارمون تموم شد ، دوبار پشت سر هم Shift رو فشار میدیم و توی پنجره ای که باز میشه سرچ میکنیم : Convert to anko و وقتی پیداش کرد اینتر میزنیم و کدهامون رو به کاتلین تبدیل میکنه : 

دقت کنید که وقتی تبدیل میکنه ، یه کلاس کاتلین جدید میسازه و کدهای XML رو که تبدیل به کاتلین کرده اونجا نشون میده . ما که همه کدهای اون کلاس رو نمیخوایم ( مثه اسم کلاس و غیره ) . ما فقط اون کدهایی رو میخوایم که XML بوده . پس دقیقا همون کدهارو کپی پیست میکنیم توی کلاس اصلیمون و بعد هم میتونیم کلاس جدیدی که ساخته رو پاک کنیم : 

خــــــــــوب ، به همین راحتی میشه کدهای XML رو به کاتلین تبدیل کرد و مزیت خیلی خیلی خیلی خوبی که داره ، اینه که برنامه مون سریع تر اجرا میشه . چون کاتلین از XML سریع تر هست . اینم از این 🙂 

تبدیل کدهای XML به کاتلین

مجتبی صابری


همه عشقم برنامه نویسی هست | t.me/kotlin9


پیمایش نوشته


3 دیدگاه در “تبدیل کدهای XML به کاتلین

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *