برای برنامه نویسی اندروید، کاتلین خیلی ضروریه.
اگه میخوای برنامههای بروز و با تکنولوژیهای روز درست کنی، باید از کاتلین استفاده کنی
یاد گرفتن جاوا یه مزیت بهحساب میاد، ولی دیگه اجبار نیست.
جاوا بهتون توی خوندن کدهای دیگران و حل مشکلات احتمالی کمکتون میکنه.
به این موارد باید تسلط داشته باشی
Android manifest - Gradle files - XML files - ADB - Android emulators
اینارم باید کامل بدونی
Activity lifecycle - Tasks & Back stack
کار کردن با این ویوها رو کامل یاد بگیر
TexView - EditText - Button - ConstraintLayout - SnackBar - BottomNavigationView - NavigationDrawer - TabLayout - Fragments - RecyclerView - Menu - ViewPager - Toolbar
این کامپوننتها خیلی مهم هستن
Context - Intent - Service - Intent-Filter - Notification - Broadcast receiver - Bound service
منابع مختلف اندروید از جمله String - Drawable - Style - Theme - Fonts و... رو یاد بگیر
از یادگیری اینا غافل نشو
Navigation component - Fragment transaction
کوروتین واقعا یه مبحث مهمی هستش.
درواقع زمانی که میخوای از Threadها استفاده کنی خیلی به دردت میخوره و میتونه کمکهای زیادی بهت بکنه.
ذخیره سازی اطلاعات به کمک
SharedPreferences - SQLite - ORMs - Room - Realm - ObjectBox
ارتباط با سرور توی 99% برنامهها وجود داره
Json - Rest API - Retrofit
معماری خیلی خیلی مهمه، خواهش جدی بگیرش
MVP - MVVM - MVI
واسه بارگذاری تصاویر میتونی از کتابخونههای زیر استفاده کنی
Picasso - Fresco - Glide - Coil
تحت هر شرایطی هم که شده این موضوع رو یاد بگیر
Dagger-Hilt - Koin
فایربیس ابزارهای خیلی خوبی داره و موقع ساختن برنامه خیلی میتونه بهت کمک کنه.
ازش غافل نشو
DataBinding - ViewBinding - Paging - WorkManager - CameraX
واسه منتشر کردن برنامههات به این موارد خیلی احتیاج داری
Proguard - APK building - App bundle - Developer console (GooglePlay - CafeBazaar - Myket) - In-App purchase - Instant apps