اندروید چیست؟ ویژگیها، تاریخچه و مفاهیم و اصول برنامه نویسی اندروید

اندروید یک سیستم عامل منبع باز و مبتنی بر لینوکس برای دستگاه های تلفن همراه مانند تلفن های هوشمند و رایانه های لوحی است. اندروید توسط Open Handset Alliance با کمک گوگل و سایر شرکت ها توسعه داده شده است.
اندروید یک رویکرد یکپارچه برای توسعه برنامه های کاربردی برای دستگاه های تلفن همراه ارائه می دهد ، یعنی توسعه دهندگان فقط برای اندروید نیاز به توسعه دارند و برنامه های آن ها باید بتوانند روی دستگاه های مختلفی که توسط اندروید کار می کنند اجرا شوند.
اولین نسخه بتا از SDK) Android Software Development Kit) توسط گوگل در سال ۲۰۰۷ منتشر شد که به عنوان اولین نسخه تجاری ، Android 1.0 ، در سپتامبر ۲۰۰۸ منتشر شد.
دانلود کنید: ۳ بهترین جزوه PDF آموزش برنامه نویسی اندروید
تاریخچه اندروید
شرکت Android Inc در سال ۲۰۰۳ توسط اندی روبین، ریچ ماینر، نیک سیرز و کریس وایت تأسیس شد. هدف اولیه، ساخت نرمافزاری هوشمند برای دستگاههای قابلحمل بود. گوگل در سال ۲۰۰۵ این شرکت را خرید و تیم آن به فعالیت در داخل گوگل ادامه داد.
در سال ۲۰۰۷، گوگل همراه با چند شرکت سختافزاری و مخابراتی مجموعهای با نام Open Handset Alliance تشکیل داد و اندروید را معرفی کرد. هدف، ایجاد بستری بازتر برای ساخت گوشیها و برنامههای موبایل بود.
نخستین گوشی تجاری اندرویدی در سال ۲۰۰۸ با نام HTC Dream یا T-Mobile G1 عرضه شد. این گوشی صفحهکلید فیزیکی، صفحه لمسی، مرورگر و امکان نصب برنامه داشت. امکانات آن در مقایسه با گوشیهای امروزی محدود بود، اما مسیر تازهای در بازار موبایل ایجاد کرد.
مسیر تغییر نسخههای اندروید
| دوره | تغییر مهم |
|---|---|
| ۲۰۰۸ | عرضه اندروید 1.0 و نخستین گوشی تجاری |
| ۲۰۰۹ تا ۲۰۱۱ | اضافهشدن صفحهکلید مجازی، ویجتها، اشتراک اینترنت و بهبود سرعت |
| ۲۰۱۱ تا ۲۰۱۳ | هماهنگی بهتر گوشی و تبلت و معرفی رابط Holo |
| ۲۰۱۴ | معرفی Material Design در Android 5 |
| ۲۰۱۵ تا ۲۰۱۸ | بهبود مجوزها، باتری، اعلانها و امنیت |
| ۲۰۱۹ | عرضه Android 10 و کنارگذاشتن نام عمومی دسرها |
| ۲۰۲۰ به بعد | تمرکز بیشتر بر حریم خصوصی، نمایشگرهای بزرگ، طراحی پویا و هوش مصنوعی |
نسخههای قدیمی اندروید با نام دسرهایی مانند Cupcake، Donut، KitKat، Lollipop و Pie شناخته میشدند. این نامگذاری براساس ترتیب حروف انگلیسی انجام میشد. از Android 10 به بعد، نام نسخهها برای کاربران عمومی بیشتر بهصورت عددی نمایش داده شد.
Android 5 با طراحی Material Design ظاهر منظمتر و مشترکی میان برنامهها ایجاد کرد. نسخههای بعدی کنترل مجوزها، مصرف باتری، اعلانها و فعالیتهای پسزمینه را بهبود دادند. در نسلهای جدیدتر نیز توجه بیشتری به حریم خصوصی، دستگاههای تاشو، تبلتها و سازگاری رابط با اندازههای مختلف صفحه شده است.
چرا اندروید؟

اندروید یک سیستمعامل برای گوشی، تبلت، تلویزیون، ساعت هوشمند، خودرو و دستگاههای دیجیتال دیگر است. وظیفه آن مدیریت سختافزار، اجرای برنامهها، نمایش رابط کاربری و کنترل امکاناتی مانند دوربین، اینترنت، بلوتوث و موقعیت مکانی است.
بخش اصلی اندروید بهصورت متنباز و در قالب پروژه AOSP توسعه داده میشود، اما بسیاری از گوشیها علاوه بر آن از سرویسهای اختصاصی گوگل و رابط کاربری سازنده استفاده میکنند. به همین دلیل ظاهر و امکانات اندروید در گوشیهای سامسونگ، شیائومی، گوگل و برندهای دیگر کاملاً یکسان نیست. برای ساخت برنامه اندروید نیز امروزه بیشتر از زبان Kotlin، نرمافزار Android Studio و ابزار طراحی Jetpack Compose استفاده میشود.
اندروید چگونه کار میکند؟
اندروید مانند واسطهای میان برنامهها و قطعات دستگاه عمل میکند. وقتی یک برنامه دوربین را باز میکند، مستقیماً با سنسور دوربین ارتباط نمیگیرد؛ درخواست آن از طریق امکانات سیستمعامل به سختافزار منتقل میشود.

ساختار اندروید را میتوان به چند لایه ساده تقسیم کرد:
- هسته لینوکس وظایفی مانند مدیریت حافظه، پردازنده، امنیت و ارتباط با قطعات را انجام میدهد.
- لایه سختافزار ارتباط استاندارد میان اندروید و دوربین، صدا، حسگرها و سایر قطعات را برقرار میکند.
- کتابخانهها و Android Runtime کد برنامهها و بسیاری از قابلیتهای سیستمی را اجرا میکنند.
- Android Framework امکانات آمادهای مانند اعلانها، موقعیت مکانی، مدیریت پنجرهها و دسترسی به دوربین ارائه میدهد.
- برنامهها شامل اپلیکیشنهای سیستمی و برنامههایی هستند که کاربر نصب میکند.
این ساختار باعث میشود برنامهنویس برای کارهای معمول مجبور نباشد مستقیماً با سختافزار ارتباط برقرار کند. برای نمونه، چند دستور استاندارد اندروید برای بازکردن دوربین یا نمایش اعلان کافی است.
تفاوت اندروید با گوشی اندرویدی
اندروید نام سیستمعامل است، نه یک مدل گوشی. شرکتهای مختلف این سیستمعامل را متناسب با محصولات خود تغییر میدهند. سامسونگ رابط One UI، شیائومی رابط HyperOS و گوگل نسخه مخصوص گوشیهای Pixel را ارائه میکنند.
این تفاوتها فقط ظاهری نیستند. مدیریت باتری، برنامههای پیشفرض، امکانات دوربین، تنظیمات امنیتی و زمان دریافت بهروزرسانی در هر برند متفاوت است. به همین دلیل یک برنامه باید روی چند گوشی، نسخه اندروید و اندازه صفحه آزمایش شود.
ویژگی های اندروید
اندروید یک سیستم عامل قدرتمند است که با Apple 4GS رقابت می کند و از ویژگی های عالی پشتیبانی می کند. تعداد کمی از ویژگی های آن در زیر ذکر شده است –
| شماره | ویژگی و توضیحات |
| ۱ | رابط کاربری زیبا صفحه اصلی سیستم عامل اندروید یک رابط کاربری زیبا و بصری ارائه می دهد. |
| ۲ | اتصال GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Wi-Fi, LTE, NFC بلوتوث و وایمکس. |
| ۳ | ذخیره سازی SQLite ، یک پایگاه داده رابطه ای سبک ، برای اهداف ذخیره سازی داده ها استفاده می شود. |
| ۴ | پشتیبانی از رسانه H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, AAC 5.1, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, and BMP. |
| ۵ | پیام رسانی SMS و MMS |
| ۶ | مرورگر وب بر اساس موتور منبع باز WebKit ، همراه با موتور V8 JavaScript Chrome که از HTML5 و CSS3 پشتیبانی می کند. |
| ۷ | چند لمسی اندروید دارای پشتیبانی بومی از چند لمسی است که در ابتدا در گوشی هایی مانند HTC Hero در دسترس قرار گرفت. |
| ۸ | چند کاره کاربر می تواند از یک کار به کار دیگر پرش کند و همزمان برنامه های مختلفی می توانند اجرا شوند. |
| ۹ | ابزارک های قابل تنظیم ابزارک ها قابل تغییر هستند ، بنابراین کاربران می توانند آن ها را گسترش دهند تا محتوای بیشتری نشان دهند یا آن ها را برای صرفه جویی در فضا کوچک کنند. |
| ۱۰ | چند زبانه متن تک و دو جهته را پشتیبانی می کند. |
| ۱۱ | GCM جی سی ام Google Cloud Messaging (GCM) خدماتی است که به توسعه دهندگان امکان می دهد داده های پیام کوتاه را بدون نیاز به راه حل همگام سازی اختصاصی برای کاربران دستگاه های اندروید ارسال کنند. |
| ۱۲ | Wi-Fi Direct وای فای دایرکت فن آوری ای که به برنامه ها اجازه می دهد مستقیماً از طریق یک ارتباط نظیر به نظیر با پهنای باند بالا ، جفت شوند. |
| ۱۳ | Android Beam اندروید بیم فناوری مبتنی بر NFC که امکان می دهد داده ها را فقط با لمس کردن دو تلفن با قابلیت NFC به اشتراک بگذارید. |
آیا اندروید کاملاً متنباز است؟
هسته اصلی اندروید در قالب Android Open Source Project در دسترس است و سازندگان میتوانند از آن برای تولید دستگاه استفاده کنند. بااینحال، تمام بخشهایی که در یک گوشی اندرویدی میبینید متنباز نیستند.
برنامه نویسی اندروید رو قورت بده! بدون کلاس، سرعت 2 برابر، ماندگاری 3 برابر، پولسازی با ساخت اپلیکیشن و بازی، سه پک زیر جوابت هست:
Google Play، Google Maps و برخی سرویسهای گوگل اختصاصیاند. یک دستگاه میتواند بر پایه AOSP ساخته شود، اما سرویسهای گوگل را نداشته باشد. همین موضوع یکی از دلایل تفاوت میان گوشیهای عرضهشده در بازارهای مختلف است.

برنامه اندرویدی از چه اجزایی ساخته میشود؟
طبق ساختار رسمی اندروید، چهار جزء پایه برای برنامهها وجود دارد:
- Activity صفحهای است که کاربر با آن تعامل میکند.
- Service برای بعضی فعالیتهای بدون رابط یا ادامهدار استفاده میشود.
- Broadcast Receiver رویدادهای عمومی یا سیستمی را دریافت میکند.
- Content Provider امکان مدیریت یا اشتراک کنترلشده دادهها را فراهم میکند.
تمام برنامهها به هر چهار جزء نیاز ندارند. برنامههای جدید ممکن است یک Activity اصلی داشته باشند و صفحات مختلف را در همان Activity مدیریت کنند. راهنمای رسمی اجزای برنامه اندروید
فایلهای APK و AAB
برنامه اندرویدی پس از ساختهشدن معمولاً با یکی از این دو قالب روبهرو میشود:
APK فایل قابلنصب روی دستگاه است. وقتی برنامهای را خارج از فروشگاه دانلود میکنید، معمولاً فایل آن پسوند .apk دارد.
AAB یا Android App Bundle بیشتر برای انتشار استفاده میشود و مستقیماً روی گوشی نصب نمیشود. فروشگاه براساس آن، نسخهای متناسب با دستگاه کاربر تولید میکند تا فقط کد و منابع لازم دانلود شوند.

زبانهای برنامهنویسی اندروید
برنامههای اندرویدی را میتوان با Kotlin، Java و در بخشهای خاص با C++ نوشت. بااینحال، برای یک مبتدی که میخواهد پروژه جدید بسازد، Kotlin انتخاب اصلی است.
Java سالها زبان رایج اندروید بود و هنوز در پروژههای قدیمی دیده میشود. Kotlin در سال ۲۰۱۷ بهعنوان زبان رسمی موردپشتیبانی اندروید معرفی شد و بهتدریج به گزینه اصلی آموزش و توسعه جدید تبدیل شد.
C++ معمولاً برای بخشهایی استفاده میشود که به کارایی بسیار بالا، پردازش تصویر، موتور بازی یا کتابخانههای سطح پایین نیاز دارند. شروع مستقیم با C++ برای بیشتر مبتدیان ضروری نیست.
Kotlin چیست؟
Kotlin زبانی مدرن، خوانا و دارای نوعدهی ایستا است. نوع متغیرها هنگام کامپایل بررسی میشود و بسیاری از اشتباهات پیش از اجرای برنامه مشخص میشوند. این زبان با Java سازگار است؛ بنابراین میتوان در یک پروژه از کدها و کتابخانههای Java نیز استفاده کرد.
یکی از قابلیتهای مهم Kotlin، مدیریت بهتر مقدارهای تهی است. بسیاری از خطاهای برنامه هنگامی رخ میدهند که برنامه انتظار یک مقدار را دارد، اما با null روبهرو میشود. Kotlin برنامهنویس را مجبور میکند این حالت را از قبل مدیریت کند. معرفی Kotlin برای اندروید
اولین مفاهیم Kotlin
متغیر ثابت با val و متغیر قابلتغییر با var ساخته میشود:
val appName = "برنامه من"var userScore = 10شرطها به این شکل نوشته میشوند:
val age = 20if (age >= 18) { println("ورود مجاز است")} else { println("ورود مجاز نیست")}تابع نیز مجموعهای از دستورات قابلاستفاده مجدد است:
fun calculateTotal(price: Int, count: Int): Int { return price * count}برای شروع باید متغیر، شرط، حلقه، تابع، کلاس، List، مدیریت null و Lambda را یاد بگیرید. پس از آن میتوان وارد ساخت رابط و برنامه واقعی شد.
Android Studio چه کاری انجام میدهد؟
Android Studio محیط رسمی ساخت برنامههای اندرویدی است. این نرمافزار ابزارهای زیر را در اختیار برنامهنویس قرار میدهد:
- ویرایش و تکمیل خودکار کد
- ساخت و مدیریت پروژه
- اجرای برنامه روی گوشی یا شبیهساز
- مشاهده خطاها در Logcat
- مدیریت کتابخانهها با Gradle
- بررسی مصرف حافظه و پردازنده
- ساخت فایل APK یا AAB

Android SDK نیز مجموعهای از ابزارها و رابطهای برنامهنویسی است که امکان استفاده از قابلیتهای اندروید را فراهم میکند. اصطلاح API Level نشان میدهد یک قابلیت از کدام نسخه اندروید در دسترس است.
طراحی رابط با Jetpack Compose
Jetpack Compose ابزار مدرن طراحی رابط اندروید است. در این روش ظاهر صفحه با توابع Kotlin ساخته میشود:
@Composablefun WelcomeScreen() { Column { Text(text = "به برنامه من خوش آمدید") Button(onClick = { }) { Text(text = "شروع") } }}Text نوشته را نمایش میدهد، Button دکمه میسازد و Column عناصر را زیر یکدیگر قرار میدهد. علامت @Composable مشخص میکند تابع بخشی از رابط کاربری است.
در پروژههای قدیمیتر، رابط معمولاً با فایلهای XML ساخته شده است. یادگیری XML برای نگهداری این پروژهها مفید است، اما برای شروع پروژه جدید، Compose مسیر بهروزتری محسوب میشود. راهنمای رسمی رابط کاربری اندروید
مسیر مناسب شروع برنامهنویسی اندروید
ابتدا منطق برنامهنویسی و مبانی Kotlin را یاد بگیرید. سپس Android Studio را نصب کرده و یک پروژه Empty Activity بسازید. بعد از آن به ترتیب سراغ Compose، مدیریت وضعیت، جابهجایی میان صفحات، ViewModel، دیتابیس Room و ارتباط با API بروید.
اولین پروژهها بهتر است کوچک باشند؛ ماشینحساب، فهرست کارها و برنامه یادداشت گزینههای مناسبی هستند. ساخت یک فروشگاه یا شبکه اجتماعی در شروع معمولاً باعث سردرگمی میشود.
اندروید مجموعه بزرگی از سیستمعامل، ابزارهای توسعه، کتابخانهها و استانداردهای طراحی است. برای شروع لازم نیست تمام این اجزا را یکجا یاد بگیرید. شناخت Kotlin، Compose، Activity، منابع پروژه و چرخه اجرای برنامه پایهای میسازد که میتوان بعدها دیتابیس، اینترنت، امنیت، تست و انتشار را روی آن اضافه کرد.


آقا دمت گرم مطلب خیلی عالی ای بود کیف کردم عاشق برنامه نویسی شدمه و اگه علاقه ام به برنامه نویسی بیشتر شد یه برنامه نویس بشم در آینده😃
پاسخعالی واقعا توضیحات واضح هست موفق باشید
پاسخاندروید که کارش همیشه کپی بوده ولی انصافا سامسونگ زیاد کپی نکرده ولی شیائومی همیشه کپی می کنه انگار خودش مغز نداره ایده بده
پاسخامیر نظری ذوالپیرانی فقط پوله مردمو میخوان بکنید همین
پاسخعالی است
پاسخ