چه به عنوان یک علاقهمند به اندروید و چه به عنوان یک توسعهدهنده برنامه، تسلط به مفاهیم پایه و کلیدی اندروید کمک شایانی به درک عمیقتر شما از برنامهنویسی در این پلتفرم خواهد کرد. این دانش به شما امکان میدهد تا علاوه بر بهبود کیفیت کدنویسی، در بهرهگیری از منابع و ابزارهای ارائهشده توسط گوگل نیز موفقتر عمل کنید. در ادامه، به بررسی اصلیترین مفاهیم اندروید و نکاتی که هر توسعهدهنده باید با آنها آشنا باشد، میپردازیم.
SDK (کیت توسعه نرمافزار اندروید)
SDK بهعنوان مجموعهای از ابزارها توسط گوگل ارائه میشود که توسعهدهندگان برای ساخت و توسعه برنامههای اندرویدی از آن بهره میبرند. اگر از زبان جاوا برای توسعه استفاده میکنید، نیازمند کیت توسعه جاوا (JDK) نیز خواهید بود.
Target SDK Version و Min SDK Version
هر اپلیکیشن اندرویدی برای نسخه خاصی از سیستمعامل اندروید طراحی میشود و از نسخههای مشخصی پشتیبانی میکند. نسخهای که اپلیکیشن برای آن هدفگذاری شده، Target SDK Version نام دارد. توصیه میشود که این نسخه همواره به جدیدترین نسخه API Level گوگل ارتقا یابد. همچنین نسخه Min SDK Version تعیین میکند که برنامه تا چه نسخهای از اندروید قابل پشتیبانی خواهد بود. از مهر ۱۴۰۳ برنامههایی که Target SDK آنها کمتر از ۳۲ باشد، دیگر در مایکت منتشر نخواهند شد.
NDK (کیت توسعه Native)
این ابزار به توسعهدهندگان اجازه میدهد از کدهای زبانهای C و ++C در برنامههای اندرویدی خود استفاده کنند. NDK با SDK ترکیب شده و امکانات بیشتری برای بهبود کارایی ارائه میدهد.
Package Name (نام بسته)
هر برنامه اندرویدی باید یک نام بسته منحصربهفرد داشته باشد. این نام برای شناسایی و تمایز برنامه از سایر برنامههاست. در صورتی که نام بسته با برنامه دیگری تداخل داشته باشد، با خطا مواجه خواهید شد.
Version Name و Version Code
Version Name به کاربران اطلاع میدهد که چه تغییراتی در نسخه جدید برنامه نسبت به نسخه قبلی انجام شده است. تغییرات کوچک معمولاً با افزایش کوچک در شماره نسخه (مانند 1.03) نشان داده میشوند، در حالی که تغییرات بزرگتر نیازمند ارتقاء بزرگتر (مثلاً از 1 به 2) هستند.
Version Code عدد صحیحی است که بهطور داخلی برای مدیریت نسخههای مختلف برنامه استفاده میشود. برخلاف نام نسخه، تغییر کد نسخه هنگام بارگذاری نسخه جدید الزامی است.
Permissions (مجوزها)
مجوزها به برنامهها امکان دسترسی به بخشهای مختلف دستگاه کاربران را میدهند. برخی از مجوزها حساس هستند و توسعهدهندگان باید دلایل شفاف و قانعکنندهای برای استفاده از آنها ارائه دهند. در غیر این صورت، برنامه در مایکت تایید نخواهد شد.
API (رابط برنامهنویسی)
API رابطی است که به برنامهها اجازه میدهد با یکدیگر ارتباط برقرار کنند. این کدها باعث میشوند که برنامه اندرویدی بتواند به سایر برنامهها یا سرویسها متصل شده و دادهها را تبادل کند. مثلاً استفاده از بلوتوث یا دسترسی به سنسورهای گوشی از طریق API امکانپذیر است.
Emulator (شبیهساز)
شبیهسازها به توسعهدهندگان کمک میکنند تا بدون نیاز به دستگاه فیزیکی، برنامه خود را در محیط اندروید تست کنند. این ابزارها به شما اجازه میدهند تا خروجی برنامه را سریعتر و دقیقتر بررسی کنید.
Manifest (شناسنامه اپ)
فایل AndroidManifest.xml شامل اطلاعات مهمی مانند مجوزها، نام بسته و بخشهای اصلی برنامه است. این فایل بهعنوان شناسنامه اپلیکیشن عمل کرده و به سیستمعامل اندروید کمک میکند تا برنامه را مدیریت کند.
Gradle
Gradle ابزاری است که به توسعهدهندگان کمک میکند تا برنامه خود را تست کرده و خروجی بگیرند. با استفاده از فایل Build.Gradle، کدهای مربوط به ساخت و اجرای برنامه نوشته شده و توسعهدهندگان میتوانند تنظیمات خود را انجام دهند.
Activity
اکتیویتیها، صفحات اصلی برنامهاند که شامل دو بخش جاوا و XML هستند. کدهای مربوط به عملکرد برنامه در بخش جاوا و رابط کاربری در بخش XML قرار دارد. اکتیویتیها بخشهای اصلی برنامههای اندرویدی هستند.
Activity Life Cycle (چرخه حیات اکتیویتی)
هر اکتیویتی در برنامه اندرویدی دارای چرخهای است که مراحل مختلفی مانند شروع، توقف و پایان را شامل میشود. این چرخه به توسعهدهندگان کمک میکند تا مدیریت دقیقتری بر روی عملکرد اکتیویتیها داشته باشند.
Android UI Controls (کنترلهای رابط کاربری)
گوگل در اندروید به طور خودکار تعدادی استاندارد را برای رابط کاربری تعریف میکند که به تجربه کاربری بهتر هنگام استفاده از برنامههای اندرویدی کمک خواهد کرد. این رابطهای کاربری از قبل مشخص شده مشکلاتی را که ممکن است در رابطهای کاربری اختصاصی هنگام طراحی به وجود آیند را نخواهند داشت. در ضمن در Android UI Controls تمام رفتارهای کاربر در برنامهها در نظر گرفته شده است و در نتیجه توسعه دهندگان (بهخصوص توسعه دهندگان تازهکار) میتوانند از تجربه کاربری باکیفیت کاربر روی برنامه اندرویدی خود مطمئن شوند.
Intents (مقاصد)
این ابزار به برنامهها امکان میدهد تا از سایر برنامههای موجود در دستگاه برای انجام وظایفی مانند باز کردن فایلها یا دسترسی به مخاطبین استفاده کنند. Intents به توسعهدهندگان اجازه میدهد تا کارکردهای برنامه خود را گسترش دهند.