قبل از اینکه به سراغ آموزش برنامه نویسی اندروید بروید، بهتر است با چند مفهوم در زمینه برنامه نویسی اندروید آشنا شوید. توسعه نرم افزار اندرویدی روندی است که با استفاده از آن برنامه هایی برای دستگاه های دارای سیستم عامل اندروید اجرا می شوند. همانطور که در مستندات گوگل آمده، برنامه های اندروید را می توان با استفاده از كاتلین ، جاوا و با استفاده از كیت توسعه نرم افزار اندروید (SDK) نوشت.
کیت توسعه شامل ابزارهایی است که برنامه نویسی اندروید را برای برنامه نویسان ساده تر و جذاب تر می کند. به عنوان مثال، در کیت توسعه ابزاری به نام Emulator یا همان شبیه ساز اندروید وجود دارد که شما را قادر میکند اندروید را بر روی ویندوز و یا مکینتاش اجرا و برنامه هایی که می نویسید را بر روی آن اجرا و تست کنید. البته شما می توانید از دیوایس اندرویدی خودتان هم برای این کار استفاده کنید که در صفحه آموزش برنامه نویسی اندروید آموزش کامل آن آمده است.
البته شما می توانید از زبان های برنامه نویسی دیگری برای توسعه برنامه های اندرویدی استفاده کنید. مثلا React Native به شما کمک می کند برنامه های هیبریدی بنویسید. برنامه هایی که هم بر روی اندروید و هم آی او اس اجرا می شوند.
عیب این روش این است که شما به تمام سخت افزار کاربر دسترسی ندارید. همینطور برنامه هایی که به روش هیبریدی نوشته شده اند، از سرعت پایین تری نسبت به برنامه هایی که با زبان کاتلین نوشته شده اند برخوردار هستند.
اپ استور رسمی انتشار برنامه اندروید برای کاربران نهایی، Google Play است. ولی با توجه به تحریم های موجود، اپ استورهایی مثل کافه بازار و مایکت برای شما در دسترس است.
برای یادگیری و آموزش اندرویدپکیج برنامه نویسی اندروید توسط برنامه نویسان ارائه می شود. این پکیج ها شامل فیلم برنامه نویسی اندروید به منظور آموزش راحتتر و سریعتر به تازه واردان می باشد. از جمله صفحات مفید برای آموزش برنامه نویسی اندروید که شامل فیلم ها و پکیج های بسیار مفید می باشد وب سایت کد آکادمی می باشد. با استفاده از آموزش های مفید این وب سایت می توانید به یادگیری اندروید بپردازید.
ابزارهای رسمی توسعه برنامه اندروید
- Android SDK
کیت توسعه نرم افزار اندروید (SDK) مجموعه ای جامع از ابزارهای توسعه را شامل می شود. این موارد شامل اشکال زدایی ، کتابخانه ها ، یک شبیه ساز گوشی مبتنی بر QEMU ، اسناد و مدارک ، کد نمونه و آموزش ها است. سیستم عامل های توسعه یافته در حال حاضر شامل رایانه هایی هستند که لینوکس را اجرا می کنند. از مارس 2015 ، SDK در خود اندروید در دسترس نیست ، اما توسعه نرم افزار با استفاده از برنامه های تخصصی اندرویدی امکان پذیر است.
تا حدود پایان سال 2014 ، محیط توسعه یکپارچه با پشتیبانی رسمی (IDE) با استفاده از افزونه Android Development Tools (ADT) Eclipse بود ، اگرچه همه نسخه ها به طور کامل از توسعه اندروید خارج پشتیبانی می کند ، NetBeans IDE نیز از توسعه اندرویدی از طریق یک افزونه پشتیبانی می کند. از سال 2015 ، اندروید استودیو ، ساخته شده توسط گوگل و طراحی آن توسط IntelliJ ، IDE رسمی است. از اواخر سال 2015 گوگل اعلام کرد ADT رسماً مستهلک شده است تا بتواند در اندروید استودیو به عنوان IDE رسمی اندرویدی متمرکز شود. علاوه بر این ، توسعه دهندگان ممکن است از هر ویرایشگر متن برای ویرایش فایل های Java و XML استفاده کنند، سپس از ابزارهای خط فرمان برای ایجاد ، ساخت و اشکال زدایی برنامه های اندرویدی و همچنین کنترل دستگاه های متصل اندرویدی استفاده کنند.
پیشرفت های SDK اندروید با پیشرفت کلی پلتفرم اندرویدی دست به دست هم می دهند. SDK همچنین از نسخه های قدیمی تر پلتفرم اندروید پشتیبانی می کند در صورتی که توسعه دهندگان مایل باشند برنامه های خود را در دستگاه های قدیمی تر هدف قرار دهند. ابزارهای توسعه اجزای قابل بارگیری هستند ، بنابراین پس از اینکه آخرین نسخه و سیستم عامل را بارگیری کردید ، سیستم عامل ها و ابزارهای قدیمی نیز می توانند برای آزمایش سازگاری بارگیری شوند.
برنامه های اندروید با فرمت .apk بسته بندی شده و در پوشه زیر / data / app در سیستم عامل اندروید ذخیره می شوند (این پوشه به دلایل امنیتی فقط در دسترس کاربر اصلی است). بسته APK شامل فایل های .dex گردآوری شده ، فایل های منبع و غیره است.
- ابزارهای بستر های نرم افزاری SDK Android
Android SDK Platform Tools یک زیر مجموعه قابل بارگیری مجزا از SDK است که از ابزارهای خط فرمان برای برنامه نویسی اندروید مانند ADB و fastboot تشکیل شده است.
Android Debug Bridge یا (ADB)
Android Debug Bridge یا (ADB) ابزاری برای اجرای دستورات در یک دستگاه اندروید متصل است. adbd daemon روی دستگاه اجرا می شود و مشتری adb یک سرور پس زمینه برای دستورات چند برابر ارسال شده به دستگاه ها راه اندازی می کند. علاوه بر رابط خط فرمان، رابط کاربری گرافیکی متعددی برای کنترل adb وجود دارد.
fastboot
Fastboot یک پروتکل و دارای ابزاری با همین نام است که با بسته SDK Android برای برنامه نویسی اندروید استفاده می شود و در درجه اول برای تغییر سیستم فایل های فلش از طریق اتصال USB از رایانه میزبان استفاده می شود. این امر مستلزم راه اندازی دستگاه در حالت بارگیر یا حالت Secondary Program Loader است. پس از فعال کردن پروتکل در خود دستگاه ، مجموعه خاصی از دستورات ارسال شده از طریق USB با استفاده از یک خط فرمان قرار می گیرند.
- Android NDK
کد نوشته شده با C و C++ را می توان با استفاده از کیت توسعه بومی اندروید یعنی Android (NDK) در ARM ، یا کد بومی x86 (یا انواع 64 بیتی آنها) تهیه کرد. NDK برای کامپایل C و C++ از کامپایلر Clang استفاده می کند. GCC تا NDK r17 گنجانده شده بود ، اما در سال 2018 در r18 حذف شد.
ابزارهای خط فرمان را می توان با NDK وارد كرد و با استفاده از adb نصب كرد.
برای پروفایل CPU ، NDK همچنین شامل Simpleperf است که شبیه به ابزار کامل لینوکس است ، اما با پشتیبانی بهتر از اندروید و به طور خاص برای پشته های ترکیبی C و Java++ .
- کیت توسعه لوازم جانبی اندروید
پلتفرم Android 3.1 برای برنامه نویسی اندروید پشتیبانی از Android Open Accessory را معرفی می کند، که به سخت افزار USB خارجی (لوازم جانبی USB Android) اجازه می دهد تا با یک دستگاه مجهز به سیستم عامل اندروید در حالت “لوازم جانبی” ارتباط برقرار کند. هنگامی که یک دستگاه مجهز به سیستم عامل اندروید در حالت لوازم جانبی است ، لوازم جانبی متصل مانند میزبان USB عمل می کند و دستگاه مجهز به سیستم عامل اندروید مانند دستگاه USB عمل می کند. کیت توسعه لوازم جانبی اندروید به طور خاص برای اتصال به دستگاه های دارای سیستم عامل اندروید و رعایت پروتکل ساده (پروتکل لوازم جانبی آندروید) طراحی شده است که به آنها اجازه می دهد دستگاه های دارای سیستم عامل اندرویدی را پشتیبانی کنند که از حالت جانبی پشتیبانی می کنند.
برنامه نویسی اندروید در کاتلین
کاتلین یک زبان برنامه نویسی منبع باز است که برای ایجاد برنامه های کاربردی اندروید مورد استفاده قرار می گیرد. کاتلین از زبان هایی است که گوگل برای توسعه و راه اندازی برنامه های اندروید از آن پشتیبانی می کند.
نتیجه گیری:
آموزش برنامه نویسی اندروید راهی است که می تواند در عین جذاب بودن، منجر به گیج شدن تازه واردان شود. به همین دلیل نیاز است که قبل از شروع به یادگیری، مسیر برنامه نویسی اندروید خودتان را مشخص کنید.