3 بهترین جزوه/کتاب PDF آموزش برنامه نویسی اندروید (دانلود رایگان)

در ادامه آموزش های کاربردی برنامه نویسی اندروید استودیو، بعد از حدود ۱ هفته گشت و گذار در اینترنت و از بین ده ها کتاب و جزوه، یک مجموعه ۳ تایی بی نقص و کامل را برای یادگیری سریع این نرم افزار گلچین کرده ایم. این مجموعه کامل برای شروع از صفر و برای همه سطوح مناسب می باشد.
اگر میخواهید برنامهنویسی اندروید را از صفر شروع کنید، در سال ۲۰۲۶ بهترین مسیر این است که Kotlin، Android Studio و Jetpack Compose را یاد بگیرید. لازم نیست در ابتدای کار Java، XML، معماریهای پیچیده یا دهها کتابخانه را همزمان یاد بگیرید. ابتدا باید بفهمید یک اپ اندرویدی چگونه ساخته میشود، صفحه چگونه ایجاد میشود، کاربر چگونه با برنامه تعامل میکند، اطلاعات کجا ذخیره میشوند و برنامه چگونه با اینترنت ارتباط برقرار میکند.
گوگل در حال حاضر Jetpack Compose را ابزار پیشنهادی برای ساخت رابط کاربری جدید اندروید معرفی میکند و Android Studio نیز محیط اصلی توسعه اپلیکیشنهای اندرویدی است.
برنامهنویسی اندروید دقیقاً چیست؟
برنامهنویسی اندروید یعنی ساخت برنامههایی که روی گوشی، تبلت و دیگر دستگاههای مبتنی بر Android اجرا میشوند.
برای مثال میتوانید برنامههایی مانند فروشگاه اینترنتی، برنامه آموزشی، پخشکننده موسیقی، اپلیکیشن حسابداری، شبکه اجتماعی، برنامه سفارش غذا یا بازی بسازید.
ساخت یک برنامه معمولاً از این مسیر عبور میکند:
ایده → طراحی رابط → برنامهنویسی → ذخیره اطلاعات → اتصال به اینترنت → آزمایش → رفع خطا → انتشار
ابزارهای اصلی که باید بشناسید
| ابزار یا مفهوم | کاربرد |
|---|---|
| Kotlin | زبان اصلی پیشنهادی برای توسعه مدرن اندروید |
| Android Studio | محیط برنامهنویسی |
| Android SDK | مجموعه ابزارهای لازم برای ساخت برنامه |
| Jetpack Compose | ساخت رابط کاربری |
| Gradle | مدیریت ساخت پروژه و کتابخانهها |
| Emulator | گوشی مجازی برای آزمایش برنامه |
| Git | مدیریت نسخههای پروژه |
| Google Play Console | انتشار برنامه در Google Play |
برای شروع، مهمترین سه مورد Kotlin، Android Studio و Compose هستند.
Kotlin چیست؟
Kotlin زبان برنامهنویسی مدرنی است که برای توسعه اندروید بسیار استفاده میشود. مثلاً:
val name = "Ali" val age = 25 if (age >= 18) { println("Adult") }
متغیرها، انواع داده، شرط if، حلقهها، Function، Class، Object، List، Nullable Types و اصول اولیه شیءگرایی.
لازم نیست ابتدا Kotlin را کاملاً حرفهای یاد بگیرید. وقتی مفاهیم پایه را فهمیدید، وارد Android Studio شوید و ادامه Kotlin را همراه پروژه یاد بگیرید.
Android Studio چیست؟
Android Studio نرمافزاری است که تقریباً تمام مراحل ساخت برنامه را در اختیار شما قرار میدهد.
داخل آن میتوانید کد بنویسید، رابط برنامه را طراحی کنید، Emulator اجرا کنید، خطاها را ببینید، پروژه را Build کنید و فایل APK یا AAB بسازید.
Android Studio همراه Android Emulator امکان آزمایش برنامه روی مدلها و نسخههای مختلف اندروید را فراهم میکند. گوگل Emulator را یکی از روشهای اصلی آزمایش برنامه معرفی میکند.
پروژه اندروید از چه بخشهایی تشکیل شده است؟
وقتی یک پروژه جدید ایجاد میکنید، تعداد زیادی فایل و پوشه خواهید دید. در ابتدا ممکن است ترسناک به نظر برسد، اما فقط چند قسمت مهم هستند.
کاتلین Kotlin
کدهای اصلی برنامه در فایلهای Kotlin قرار میگیرند. مثلاً:
MainActivity.kt
AndroidManifest.xml
فایل بسیار مهمی است که اطلاعات کلی برنامه در آن قرار میگیرد؛ از جمله Activityها، بعضی Permissionها و تنظیمات اصلی برنامه.
res
بخش Resources است. مواردی مانند تصاویر، رنگها، متنها و آیکونهای برنامه در منابع قرار میگیرند.
Gradle
Gradle مسئول Build کردن پروژه و مدیریت Dependencyها یا کتابخانهها است. اگر مثلاً کتابخانهای برای اتصال به اینترنت یا نمایش تصویر اضافه کنید، معمولاً Gradle در این فرایند نقش دارد.
Activity چیست؟
Activity را میتوانید تقریباً بهعنوان یکی از ورودیهای اصلی رابط برنامه در نظر بگیرید. مثلاً برنامه فروشگاهی ممکن است صفحه ورود، محصولات و سبد خرید داشته باشد. در برنامههای قدیمیتر ممکن بود برای هر صفحه Activity جداگانه ساخته شود.
اما در برنامههای مدرن معمولاً یک Activity اصلی داریم و تعداد زیادی Screen با Compose و Navigation داخل آن مدیریت میشوند. بنابراین تصور نکنید هر صفحه برنامه الزاماً یک Activity است.
Jetpack Compose چیست؟
Compose روش مدرن ساخت رابط کاربری اندروید است. در روش قدیمی، رابط کاربری معمولاً با XML ساخته میشد. اکنون میتوانید قسمت زیادی از UI را مستقیماً با Kotlin ایجاد کنید. مثلاً:
@Composable fun Welcome() { Text("سلام!") }
تابع دارای Composable@ بخشی از رابط کاربری را توصیف میکند.
مثلاً میتوانید Composableهای جداگانهای برای Header، ProductCard، LoginForm یا ShoppingCart بسازید.
Compose بهصورت رسمی ابزار پیشنهادی اندروید برای ساخت UIهای جدید است و برای گوشی، تبلت، دستگاههای تاشو و سایر اندازههای صفحه امکانات Adaptive UI دارد.
دانلود پی دی اف ها
حجم: ۴۳ مگابایت
سطح: از صفر تا صد
نسخه آموزش داده شده: مناسب برای نسخه های مختلف اندروید استودیو
![]()
این مفاهیم را خیلی خوب یاد بگیرید (60 درصد یادگیری همین چند خط توضیحه!)
ابتدا مفهوم State که یکی از مهمترین مفاهیم برنامهنویسی اندروید مدرن است. فرض کنید یک Counter دارید:
عدد = 0
کاربر روی دکمه میزند:
عدد = 1
دوباره:
عدد = 2
عدد فعلی یک State است. وقتی State تغییر میکند، رابط کاربری نیز باید تغییر کند. در Compose این تفکر بسیار مهم است:
State تغییر میکند → UI دوباره بر اساس State نمایش داده میشود
اگر State را خوب یاد بگیرید، بسیاری از مفاهیم Compose بسیار سادهتر خواهند شد.
ViewModel چیست؟
در برنامههای واقعی نباید تمام اطلاعات و منطق برنامه را داخل UI قرار دهید.
اینجاست که ViewModel اهمیت پیدا میکند. مثلاً در صفحه محصولات، UI وظیفه نمایش محصولات را دارد؛ اما ViewModel میتواند وضعیت Loading، لیست محصولات، خطا و عملیات دریافت اطلاعات را مدیریت کند.
یکی از مزایای ViewModel این است که State صفحه را هنگام بعضی تغییرات پیکربندی مانند چرخاندن دستگاه حفظ میکند. راهنمای رسمی Android نیز ViewModel را برای نگهداری State و منطق مرتبط با صفحه معرفی میکند. بهصورت ساده UI ← ViewModel ← Data
این ساختار را از همان ابتدای یادگیری در ذهن داشته باشید.
UI Layer و Data Layer چیست؟
در پروژههای حرفهای بهتر است وظایف بخشهای مختلف جدا شوند. UI Layer مسئول نمایش اطلاعات و دریافت تعامل کاربر است. مثلاً دکمه، متن، تصویر، فرم و فهرست محصولات.
Data Layer مسئول دریافت، ذخیره و مدیریت اطلاعات است. مثلاً اطلاعات ممکن است از Database، اینترنت یا فایل دریافت شوند.
برنامه نویسی اندروید رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن و بازی، سه پک زیر جوابت هست:
معماری رسمی Android نیز جداسازی UI و Data Layer و استفاده از Repository برای مدیریت دسترسی به داده را توصیه میکند.
برای یک پروژه ساده لازم نیست معماری بسیار پیچیده بسازید، اما این جداسازی را از ابتدا درک کنید.
Intent چیست؟
Intent یکی از مفاهیم قدیمی اما همچنان مهم اندروید است. از Intent میتوان برای درخواست انجام یک عملیات استفاده کرد.
مثلاً بازکردن مرورگر، شمارهگیر تلفن، اشتراکگذاری متن یا شروع یک Activity دیگر. فرض کنید میخواهید کاربر با زدن دکمه Share، متنی را برای یک برنامه دیگر ارسال کند. Intent میتواند این ارتباط را ایجاد کند.
Navigation چیست؟
برنامه معمولاً چند صفحه دارد. مثلاً Login → Home → Products → Product Details → Cart
Navigation مشخص میکند کاربر چگونه بین این صفحات حرکت کند. در برنامههای Compose معمولاً از Navigation Compose استفاده میشود.
یکی از نکات مهم این است که نباید کنترل جابهجایی صفحات را بهصورت پراکنده در تمام قسمتهای برنامه بنویسید.
Lifecycle چیست؟
صفحه اندروید همیشه فقط «باز» یا «بسته» نیست. ممکن است Activity ایجاد شود، جلوی چشم کاربر قرار گیرد، موقتاً متوقف شود و سپس از بین برود. این مراحل Lifecycle نام دارند. نامهایی مثل:
onCreate()
onStart()
onResume()
onPause()
onStop()
onDestroy()
را خواهید دید. برای شروع لازم نیست تمام جزئیات Lifecycle را حفظ کنید؛ مهم این است که بفهمید اندروید چرخه عمر اجزای برنامه را مدیریت میکند و برنامهنویس نباید فرض کند یک صفحه همیشه زنده باقی میماند.
ذخیره اطلاعات چگونه انجام میشود؟
بسته به نوع اطلاعات چند روش دارید.
| نوع اطلاعات | انتخاب مناسب |
|---|---|
| تنظیمات کوچک | DataStore |
| اطلاعات ساختاریافته | Room Database |
| فایل و تصویر | Storage |
| اطلاعات آنلاین | Server / API |
| اطلاعات موقت صفحه | State / ViewModel |
مثلاً اگر فقط Theme برنامه را ذخیره میکنید، Database کامل لازم نیست. ولی اگر برنامه مدیریت مشتری با هزاران رکورد دارید، پایگاه داده اهمیت زیادی پیدا میکند.
API چیست؟
بسیاری از اپلیکیشنها اطلاعات خود را از اینترنت دریافت میکنند. مثلاً اپلیکیشن هواشناسی اطلاعات دما را از یک Server میگیرد.
مسیر ساده چنین است Android App → API → Server → Database
Server پاسخ میدهد و برنامه نتیجه را نمایش میدهد. اطلاعات معمولاً در قالبهایی مانند JSON منتقل میشوند.
وقتی به این مرحله رسیدید، مفاهیم HTTP، REST، JSON و کتابخانههایی مثل Retrofit ارزش یادگیری دارند.
Coroutine چرا مهم است؟
فرض کنید دریافت اطلاعات از اینترنت سه ثانیه طول بکشد. اگر این عملیات را اشتباه انجام دهید، رابط کاربری ممکن است قفل شود.
Kotlin Coroutines کمک میکنند عملیات طولانی مانند درخواست شبکه یا بعضی عملیات پایگاه داده را بدون مسدودکردن رابط کاربری مدیریت کنید.
در ابتدا فقط مفهوم آن را بفهمید؛ سپس suspend، CoroutineScope و Flow را یاد بگیرید.
Permission چیست؟
برنامه برای دسترسی به بعضی امکانات گوشی نیاز به اجازه دارد.
مثلاً Camera، Microphone یا Location.
نباید بدون دلیل Permission درخواست کنید.
اگر برنامه ماشینحساب است، درخواست دسترسی به میکروفون و موقعیت مکانی منطقی نیست.
هم از نظر اعتماد کاربر و هم از نظر قوانین انتشار اپلیکیشن، حداقلکردن Permissionها اهمیت زیادی دارد.
تفاوت APK و AAB چیست؟
APK فایل قابل نصب برنامه اندروید است. مثلاً MyApp.apk میتوانید آن را روی یک دستگاه سازگار نصب کنید.
AAB یا Android App Bundle بیشتر برای انتشار برنامه در Google Play استفاده میشود و فروشگاه بر اساس دستگاه کاربر فایلهای مناسب را تولید میکند.
پس در ابتدای یادگیری بیشتر با APK سروکار دارید، اما هنگام انتشار باید AAB را هم بشناسید.
Debugging را جدی بگیرید
برنامهنویسی فقط نوشتن کد نیست؛ بخش بزرگی از کار پیدا کردن خطاست.
Android Studio ابزارهای Debugging متعددی دارد. یکی از مهمترین آنها Logcat است.
اگر برنامه Crash کند، معمولاً اطلاعات بسیار مهمی در Logcat وجود دارد.
بهجای اینکه هنگام خطا فوراً کد را حذف و دوباره بنویسید، ابتدا Error و Stack Trace را بخوانید.
این عادت یکی از تفاوتهای برنامهنویس مبتدی و حرفهای است.
Emulator بهتر است یا گوشی واقعی؟
هر دو. Emulator برای آزمایش سریع روی مدلها و نسخههای مختلف اندروید بسیار مفید است.
اما در نهایت حتماً برنامه را روی گوشی واقعی نیز آزمایش کنید؛ مخصوصاً امکاناتی مانند Camera، GPS، Bluetooth، مصرف باتری و عملکرد واقعی دستگاه.
Android Studio امکان اجرای پروژه روی Emulator یا دستگاه Android واقعی را فراهم میکند.
XML را یاد بگیریم یا Compose؟
اگر از صفر در سال ۲۰۲۶ شروع میکنید، ابتدا Compose را یاد بگیرید. ولی XML را کاملاً نادیده نگیرید.
پروژههای قدیمی بسیار زیادی با XML و View System ساخته شدهاند و ممکن است در بازار کار با آنها مواجه شوید. حتی مستندات رسمی Android نیز برای نگهداری پروژههای قدیمی همچنان مسیر Views را پوشش میدهند، اما برای UIهای جدید Compose را توصیه میکنند.
بنابراین مسیر مناسب Compose اول → XML بعداً برای پروژههای قدیمی
Java لازم است؟
برای شروع خیر. Kotlin را انتخاب کنید.
اما Java هنوز در تعداد زیادی پروژه قدیمی اندروید وجود دارد. وقتی Kotlin را خوب یاد گرفتید، خواندن کد Java بسیار راحتتر میشود.
بنابراین لازم نیست همزمان Java و Kotlin را شروع کنید.
اشتباه رایج مبتدیان
بزرگترین اشتباه این است که فرد از روز اول قصد ساخت برنامهای شبیه Instagram، Uber یا فروشگاه بزرگ داشته باشد.
پروژه اول باید بسیار کوچک باشد. مثلاً یک Counter، ماشینحساب، To-Do List یا برنامه یادداشت.
در پروژه کوچک تقریباً تمام اصول مهم را یاد میگیرید بدون اینکه در صدها فایل و کتابخانه گم شوید.
مسیر پیشنهادی یادگیری اندروید از صفر
- Kotlin پایه متغیر، شرط، حلقه، Function، Class، List و Null Safety.
- Android Studio ساخت پروژه، اجرای Emulator و شناخت ساختار پروژه.
- Jetpack Compose یعنی Text، Button، Image، Row، Column، LazyColumn و Material Design.
- State و Event تغییر رابط کاربری بر اساس رفتار کاربر.
- Navigation ساخت برنامه چندصفحهای.
- ViewModel جداکردن منطق و State از UI.
- Room و DataStore ذخیره اطلاعات.
- API و Retrofit دریافت اطلاعات از اینترنت.
- Coroutines و Flow مدیریت عملیات غیرهمزمان.
- Architecture یعنی UI Layer، Data Layer و Repository.
- Git و GitHub ذخیره نسخههای پروژه.
- ساخت پروژه واقعی مثلاً برنامه هزینههای شخصی، فروشگاه ساده یا مدیریت کارها.
سه پروژه مناسب برای یادگیری
- پروژه اول – ماشینحساب ساده با Button، Text، State، شرط و Function آشنا میشوید.
- پروژه دوم – To-Do List یعنی Compose، Navigation، ViewModel و Room را تمرین میکنید.
- پروژه سوم – برنامه نمایش اطلاعات آنلاین API، JSON، Retrofit، Coroutine، Loading و Error Handling را یاد میگیرید.
بعد از ساخت این سه پروژه، بسیاری از مفاهیم برنامهنویسی اندروید دیگر برایتان غریبه نخواهند بود.
جمعبندی
برای شروع برنامهنویسی اندروید لازم نیست دهها فناوری را یکجا یاد بگیرید. مسیر مناسب در سال ۲۰۲۶ این است:
Kotlin → Android Studio → Jetpack Compose → State → Navigation → ViewModel → Room → API → Coroutines → معماری → پروژه واقعی
اگر بتوانید یک برنامه چندصفحهای بسازید که اطلاعات را ذخیره کند، از اینترنت داده بگیرد، Loading و Error را مدیریت کند و ساختار UI و Data آن از هم جدا باشد، از مرحله کاملاً مبتدی عبور کردهاید و پایه بسیار مناسبی برای ورود به پروژههای حرفهای اندروید خواهید داشت. هر گونه سوالی در زمینه این مطلب دارید در بخش نظرات مطرح کنید تا به آن پاسخ دهیم.


درود برشما.بسیار عالی بود.برقرار باشید و عاقبت بخیر
پاسخبسیار عالی
پاسخسلام. و با عرض ادب.
یک سوال داام آیا برنامه نویسی ربطی به سن داره من 13 سالمه
دوست دارم برنامه نویس اندروید موبایل بشم با کمک شما
«سپاسگزارم »
خیر-اتفاقا در سنین پایینتر مغز فعالتر میباشد. البته تا حدودی زبان انگلیسی مهمه.
سلام میشه بدون رفتن به کلاسی با این جزوه ها یاد گرفت اخه من خودم برنامه نویسی تو دانشگاه خوندم
پاسخسلام این موضوع کاملا بستگی به خود شما داره.
آقای حیدری پک اندروید حرفه ای تون خوبه قبول. اما چرا هر روز گرونترش می کنین اخه؟ واقعا چرااا؟ قیمت دوره های بقیه سایت ها که ثابته
سلام. خسته نباشید. میخواستم بدونم برای کد نویسی باید از کجا شروع کنم. با چه برنامه ای؟
پاسخسلام <a href=https://sariasan.com/featured/easiest-coding-languages-to-learn/>در این مطلب</a> توضیح داده ایم
سلام خوبی ببخشید میگم من میتونم از صفر شروع کنم و آیا زبان مهمه من انگلیسی بلد نیستم زیاد
خدا خیرت بده انشالله موفق و پیروز و سربلند و جاوید باشی ممنون بابت فایلات دمت گرم خیلی مردی عاشقت شدم>
پاسخسلام وقتتون بخیر من اگه از ۳ تا از جزوات حجیمی که در سایت قرار دادید برای کسی کاملا مبتدی است کافی میباشد و ضمن اینکه شما چند تا فیلم هم دارید ولیکن گفتید برید و مجموعه کامل رو تهیه کنید ایا این فیلم ها کامل نیستند
پاسخو البته تا الان من راضی بودم تشکر از خدمات رایگان شما
سلام میخواستم بدونم بدون تحصیل در رشته کامپیوتر هم میتوان برنامه نویس موفقی بود ؟
پاسخبله چرا که نه برای کارهم بیشتر جاها کارازشما میخوان نه صرفا مدرک موفق باشید
ببخشید برای یادگرفتن برنامه نویسی در دانشگاه باید دانشگاه چی بخونیم؟
پاسخسلام ببخشید میشه توضیح بدید با یادگیری این پی دی اف میشه دیمن ساخت یا نه؟
پاسخسلام ممنون از زحماتتان ، آیا با خواندن این جزوات میتوان اپلیکیشن ساخت؟
پاسخدستورات به صورت پایه ای آموزش داده شده اند. اینکه بتوانید اپلیکیشن بسازید یا نه به شما، وقتی که میگذارید، استعداد شما و پیش زمینه شما دارد