ساخت اپلیکیشن اندروید با استفاده از کوتلین – مقدمه

آموزش کوتلین در اندروید - مقدمه
آموزش کوتلین قسمت مقدمه

با نام خدا وسلام، پس از معرفی کوتلین و صحبت فراوان در موردش و گفتن مزایاش (آشنایی و شروع با Kotlin – قسمت سه ، آشنایی و شروع با Kotlin – قسمت دو، آشنایی و شروع با Kotlin – قسمت یک و آشنایی با زبان کوتلین – Kotlin – مقدمه)، یه مطلب خوب داخل سایت Medium دیدم که به ساخت یه اپلیکیشن اندرویدی با استفاده از کوتلین طی 13 قسمت پرداخته بود، در حقیقت در طول ساخت اپلیکیشن مورد نظر، مفاهیم کوتلین را نیز گنجانده بود و در کل آموزش کامل و مفیدی به نظرم بود، در ابتدا تصمیم داشتم مشابه اون مطلب خودم نیز یه اپ با استفاده از کوتلین و طی چند قسمت آموزش بیارم بالا و اینجا نیز در اختیار دوستان بزارم، منتهی در اخر به این نتیجه رسیدم که برای صرفه جویی در زمان همون آموزش رو ترجمه کنم و اینجا بزارم.

در طی این آموزش یه اپلیکیشن به نام keddit ساخته میشه ، که یه کلاینت کوچک از سایت reddit هست که با کوتلین نوشته شده.

این آموزش همان طور که گفتم شامل 13 بخش میشه :

  • مقدمه: یه مقدار در مورد پروژه ای که میخوایم انجام بدیم
  • قسمت اول: کانفیگ کردن اندروید استادیو با کوتلین
  • قسمت دوم: MainActivity.kt : سینتکس، نبود Null و بیشتر …
  • قسمت سوم: NewsFragment.kt : توابع Extention و Android Extention
  • قسمت چهارم: RecyclerView : اعمال Adapters و کلاس های داده با استفاده از کوتلین
  • قسمت پنجم: کوتلین، RxJava و RxAndroid 
  • قسمت ششم: API – رتروفیت و کوتلین (retrofit – kotlin)
  • قسمت هفتم: اسکرول بی نهایت: توابع مرتبه بالاتر و لامبداس
  • قسمت هشتم: تغییر جهت (چرخش صفحه) – Mockito, RxJava & Spek
  • قسمت نهم: یونیت تست با استفاده از کوتلین
  • قسمت دهم: کوتلین و داگر 2 (Kotlin & Dagger 2)
  • قسمت یازدهم: یکپارچگی ادامه دار با استفاده از کوتلین BuddyBuild
  • قسمت دوازدهم و پایانی: نتیجه گیری و تمام

 

مقدمه:

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

اپلیکیشن Keddit : 

اپلیکیشنی که قصد توسعه آن را داریم کلاینت کوچکی از reddit محسوب می شه، این اپ آخرین اخبار را از reddit نشون میده (اسکرول بینهایت) که هر چه اسکرول کنیم اخبار بیشتر رو نشون میده، اخبار شامل عنوان، تصویر، تعداد کامنت ها، زمان انتشار و نویسنده خبر می باشد.

کتابخانه هایی که از آنها استفاده خواهیم کرد:

  • Retrofit 2.0 :  جهت تحلیل API عمومی Reddit
  • RxJava :  جهت جدا کردن موضوعات مربوط به UI از عملیات (task) پشت زمینه. در این جا برای فراخوانی API و بازگردانی مقادیرش به UI استفاده می شود.
  • Picasso: کار با تصاویر و گرفتن تصاویر از Reddit
  • RecyclerView: برای نمایش اطلاعات و همچنین پیاده سازی اسکرول بینهایت از RecyclerView استفاده می کنیم
  • Kotlin Android Extensions: برای bind کردن UI با کد ها
  • Dagger 2: تزریق وابستگی (یه بلاگ و یه پست معرفی پارسی خوب برای Dagger)

 

پست بعدی – > قسمت اول: کانفیگ کردن اندروید استادیو با کوتلین