در این پست می خواهم یک پروژه اندروید را در اندروید استودیو آغاز کنیم و بخش به بخش نوشتن یک پروژه تا تکمیل و نصب برنامه اندرویدی را برسی کنیم. برای شروع برنامه اندروید استودیو را از خود وبسایت اصلی اندروید استوادیو دانلود کردم . توجه کنید که وبسایت اندروید استودیو آیپی های ایران را به طور کلی بلاک کرده است بنابر این برای دانلود و به صورت کلی برای کار کردن با این برنامه در ایران نیاز به فیلترشکن داریم.

مراحل نصب اندروید استودیو در وبسایت رسمی خود این شرکت توضیح داده شده است و از این سو نصب این برنامه را من آموزش نمی‌دهم و بر عهده خودتان می‌باشد. آموزش این پست را با باز کردن برنامه اندروید استودیو شروع می‌کنم :

wellcome-to-android-studio.png

صفحه بالا اولین صفحه ای می‌باشد که پس از اجرای برنامه اندروید استودیو با آن روبه رو می‌شوید. برای ساخت پروژه من بر روی دکمه New Project کلیک میکنم و وارد مرحله بعدی می‌شویم. در برنامه Android Studio، وقتی شما بر روی "New Project" کلیک می‌کنید، یک پنجره باز می‌شود که شما را به ساخت یک پروژه جدید هدایت می‌کند. در این پنجره، شما با چندین دایرکتوری و گزینه مختلف مواجه می‌شوید که هر کدام وظیفه‌ها و تنظیمات خاص خود را دارند.

new-project.png

این دایرکتوری‌ها و گزینه‌ها عبارتند از:

  • "Phone and Tablet": این گزینه به شما امکان ساختن برنامه‌هایی را برای تلفن همراه و تبلت فراهم می‌کند.

  • "Wear OS": این گزینه به شما اجازه می‌دهد برنامه‌هایی برای دستگاه‌های هوشمند از جمله ساعت‌های هوشمند با سیستم عامل Wear OS توسعه دهید.

  • "Television": این گزینه به شما امکان ساخت برنامه‌هایی را برای دستگاه‌های تلویزیون با سیستم عامل اندروید فراهم می‌کند.

  • "Automotive": این دایرکتوری به شما اجازه می‌دهد برنامه‌هایی برای خودروهایی با سیستم عامل Android Auto بسازید.

  • "Glass": این گزینه به شما امکان توسعه برنامه‌هایی را برای دستگاه‌های پوشیدنی Google Glass می‌دهد. (در ورژن نصب شده در سیستم عامل من گزینه Glass موجود نیست اما در ورژن های pro برنامه AndroidStudio این قسمت موجود می‌باشد.)

همچنین، شما می‌توانید از گزینه "No Activity" استفاده کنید تا بدون اضافه کردن یک فعالیت اولیه به پروژه، یک پروژه خالی ایجاد کنید و سپس به دلخواه خود فعالیت‌ها و قسمت‌های مختلف را اضافه کنید.

برای مثال و به صورت دلخواه در این آموزش بر روی ناحیه Navigation Views Drawer Activities کلیک میکنم و بر روی دکمه Next کلیک میکنم تا وارد مرحله بعدی شویم. در تصویر پایین میتوانید منوی بعدی را مشاهده کنید:

choosing-project-name.png

در این مرحله پروژه خود را به صورت زیر پیکربندی کنید:

فیلد Name برای وارد کردن نام پروژه شما استفاده می شود، در این ناحیه My FileManager را تایپ کنید.

قسمت Package name را همانطور که هست رها کنید. به این ترتیب فایل های شما در ساختار فایل سازماندهی می شوند. در این حالت، نام بسته com.example.myfilemanager خواهد بود.

قسمت Save location را همانطور که هست رها کنید. این شامل مکانی است که تمام فایل های مربوط به پروژه شما در آن ذخیره می شوند. مکان رایانه خود را یادداشت کنید تا بتوانید فایل های خود را پیدا کنید.

API 24: Android 7.0 (Nougat) را از منوی قسمت Minimum SDK انتخاب کنید. حداقل SDK نشان دهنده حداقل نسخه اندرویدی است که برنامه شما می تواند روی آن اجرا شود.

بر روی دکمه Finish کلیک کنید و منتظر بمانید تا پروژه به صورت کامل ساخته شود.

building-gradle.png

صبر می‌کنیم تا این مرحله تمام شود و در نهایت پنجره نهایی اندروید استودیو باز می‌شود که میتوانید این تصویر را در پایین مشاهده کنید:

Project-full-view.png

در ناحیه FileExplore برنامه AndroidStudio این ناحیه را برای نمایش تمام دایکتوری های ساخته شده و بخش های پروژه بر روی Project تنظیم می‌کنم و همه فایل ها و دایکتوری های ساخته شده به صورت زیر می‌باشد.

project-directories.png

توضیحاتی در مورد هرکدام از آنها ارائه می‌دهم:

  • .gradle: این فولدر شامل فایل‌های مربوط به Gradle Wrapper است که به طور خاص برای پروژه شما تولید شده‌اند.

  • .idea: این فولدر شامل تنظیمات مربوط به پروژه در IntelliJ IDEA است. این شامل اطلاعاتی مانند تنظیمات و تنظیمات پروژه، تنظیمات دیباگ، و غیره می‌شود.

  • app: این فولدر اصلی برنامه شما است و تمام کد و منابع مربوط به برنامه در این فولدر قرار دارند. این شامل فایل‌های Java، فایل‌های XML برای طرح‌بندی صفحات، منابع مربوط به UI (مانند تصاویر و آیکون‌ها) و غیره است.

  • gradle: این فولدر حاوی فایل‌های مربوط به Gradle Wrapper است که برای مدیریت و ساخت پروژه استفاده می‌شوند.

  • .gitignore: این فایل شامل فهرستی از فایل‌ها و فولدرهایی است که باید از طریق Git ردیابی نشوند و در زمان commit و push از پروژه حذف شوند.

  • build.gradle.ktls: این فایل شامل تنظیمات مربوط به Gradle برای پروژه است که به طور معمول شامل تنظیماتی مانند ورژن Gradle، وابستگی‌های پروژه و غیره می‌شود.

  • gradle.properties: این فایل شامل تنظیمات Gradle است که برای پروژه مورد استفاده قرار می‌گیرد، از جمله تعیین JDK و تنظیمات مربوط به Gradle.

  • gradlew: این فایل یک اجرای پرتابل از Gradle Wrapper است که اجازه می‌دهد Gradle را بدون نیاز به نصب مجدد روی سیستم عامل‌های مختلف اجرا کنید.

  • gradlew.bat: این فایل نسخه برای سیستم‌های ویندوز از gradlew است و برای اجرای دستورات Gradle در سیستم‌های ویندوز استفاده می‌شود.

  • local.properties: این فایل شامل تنظیمات محلی برای پروژه است، مانند مسیر SDK اندروید و تنظیمات مربوط به مسیرهای دیگر مورد نیاز برای پروژه.

  • settings.gradle.kts: این فایل شامل تنظیمات مربوط به پروژه است که تعیین می‌کند که کدام فایل‌ها و فولدرها به عنوان ماژول‌های پروژه شناخته شوند.

این فایل‌ها و فولدرها معمولاً برای هر پروژه‌ی اندروید ایجاد می‌شوند و هرکدام وظایف مختلفی را انجام می‌دهند تا مدیریت پروژه‌ی شما را ساده‌تر کنند و فرآیند توسعه را بهبود بخشند.

src-dir.png

پوشه app

پوشه "app" یکی از اصلی‌ترین پوشه‌ها در ساختار یک پروژه‌ی اندروید است و شامل منابع و کدهای مربوط به برنامه‌ی شما است. در زیر توضیحاتی در مورد محتویات این پوشه داده می‌شود:

  • src: این پوشه شامل کدهای Java و منابع XML برای طرح‌بندی صفحات نمایش و منابع مربوط به برنامه‌ی شما است. معمولاً این پوشه دارای دو زیرپوشه به نام‌های "main" و "test" است. در زیرپوشه‌ی "main" کدهای اصلی برنامه و منابع قرار دارند و در زیرپوشه‌ی "test" کدهای تست واحد برنامه قرار می‌گیرد.

  • build.gradle.kts: این فایل شامل تنظیمات Gradle برای ماژول "app" می‌باشد. این فایل شامل تنظیماتی مانند ورژن SDK اندروید، وابستگی‌های پروژه و تنظیمات مربوط به ساخت و اجرای برنامه است.

  • proguard-rules.pro: این فایل شامل تنظیمات ProGuard است که برای بهینه‌سازی و امنیت کد در هنگام عرضه برنامه استفاده می‌شود. ProGuard یک ابزار برای کاهش اندازه فایل‌های APK، بهینه‌سازی کد و حفاظت از آنها در برابر روش‌های تهدیدی مانند reverse engineering است.

این موارد اساسی‌ترین محتویات پوشه "app" در یک پروژه‌ی اندروید هستند و تمامی کدها، منابع و تنظیمات مربوط به برنامه‌ی شما در این پوشه قرار دارد.

src-dir.png

محتویات src

پوشه‌های "androidTest" و "test" در ساختار پروژه‌های اندروید هر دو برای نوشتن و اجرای تست‌های مختلف برنامه استفاده می‌شوند، اما هر کدام مخصوص نوع خاصی از تست‌ها هستند. در زیر توضیحاتی در مورد تفاوت این دو پوشه ارائه می‌شود:

  • پوشه "androidTest": این پوشه معمولاً برای تست کردن عملکرد برنامه در محیط اجرای واقعی (مانند دستگاه یا شبیه‌ساز اندروید) استفاده می‌شود. تست‌های موجود در این پوشه به نام "آزمون اجرایی" (Instrumentation Test) معروف هستند. این تست‌ها قادرند با محیط اجرایی برنامه تعامل کنند و عملکرد و ویژگی‌های مختلف برنامه را بررسی کنند، از جمله تعامل با دستگاه‌های سخت‌افزاری و سرویس‌های سیستم.

  • پوشه "test": این پوشه بیشتر برای نوشتن تست‌های واحد (Unit Test) برنامه استفاده می‌شود. تست‌های واحد معمولاً بر روی قسمت‌های کوچک و مستقل برنامه تمرکز دارند و بدون وابستگی به محیط اجرایی برنامه اجرا می‌شوند. این تست‌ها به کمک فریمورک‌های آزمون مانند JUnit یا TestNG انجام می‌شوند و هدف آنها اطمینان حاصل کردن از صحت عملکرد کدهای مختلف و توابع در شرایط مختلف است.

بنابراین، تفاوت اصلی بین این دو پوشه این است که "androidTest" برای تست کردن در محیط اجرایی برنامه و "test" برای تست کردن واحدی از کدها و توابع بدون وابستگی به محیط اجرایی برنامه استفاده می‌شوند.

پوشه main

main-dir.png

پوشه "main" یکی از مهم‌ترین پوشه‌ها در ساختار یک پروژه‌ی اندروید است و شامل منابع و کدهای اصلی برنامه شما است. این پوشه به طور معمول دو زیرپوشه‌ی "java" و "res" را شامل می‌شود، همچنین فایل "AndroidManifest.xml" نیز در این پوشه قرار دارد. در زیر توضیحاتی در مورد محتویات این پوشه ارائه می‌شود:

  • پوشه "java": این پوشه شامل کدهای Java برنامه‌ی شما است. اکثر فعالیت‌ها، ساختارها و کلاس‌هایی که شما در پروژه ایجاد می‌کنید، در این پوشه قرار می‌گیرند. اینجاست که شما کدهای مربوط به فعالیت‌ها (Activities)، فرگمنت‌ها (Fragments)، سرویس‌ها (Services)، کلاس‌های مدل (Model Classes)، کلاس‌های مدیریت داده (Data Management Classes) و غیره را قرار می‌دهید.

  • پوشه "res": این پوشه شامل منابع (Resources) برنامه‌ی شما است. اینجاست که شما فایل‌های XML برای طرح‌بندی صفحات نمایش (Layouts)، تصاویر، آیکون‌ها، رشته‌های متنی، سبک‌ها، استایل‌ها، منوها و سایر منابع مربوط به UI و UX برنامه‌ی خود را قرار می‌دهید.

  • فایل "AndroidManifest.xml": این فایل شامل تنظیمات اصلی برنامه‌ی شما است. اینجاست که شما اطلاعات مهمی مانند نام برنامه، نسخه‌نامه، فعالیت‌ها، سرویس‌ها، اجازه‌ها (Permissions) و سایر تنظیمات مربوط به برنامه خود را تعریف می‌کنید. این فایل بسیار حیاتی برای اجرای و عملکرد صحیح برنامه است.

پوشه "main" شامل محتویات اصلی و اساسی پروژه‌ی اندروید شما است و تمامی منابع و کدهای مربوط به برنامه در این پوشه قرار دارند.

ادامه این پست را در قسمت دوم اموزش ببینید :

https://mehrshadina.ir/blog/post/4

کامنت ها (1)

  • مهرشادینا

    March 22, 2024

    احتمالا در پست بعدی کدهای فلاتر را بیشتر برسی خواهیم کرد

    Reply

ارسال پیام