بررسی ساختار پروژه های اندروید استودیو

Explore the project structure

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

لینک کمکی (official link) – آشنایی کامل با ساختار و استراکچر حاکم بر یک پروژه جدید در اندروید استودیو

ساختار پروژه در Android Studio

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

باز کردن پروژه در اندروید استودیو

من بر روی open an existing Android Studio project کلیک میکنم تا یکی از فایلهای تمرینی را باز کنم.
در این صفحه میتوانیم با فشار دادن کلیدهای Control, “D” در ویندوز یا Command, “D” در مک، به فولدرهای موجود در دسکتاپ دسترسی پیدا کنیم و بعد exercise files را باز میکنم، فولدرهای chapter که همگی فولدرهای تصویری هستند.
این فولدر پروژه اندروید استودیو من هست.
توجه داشته باشید، این فولدر آیکن اندروید استودیو را دارد و اینچنین فولدری همیشه فایلها و فولدرهای خاصی که بخشی از پروژه استودیو هستند را دارد. اول این گزینه را انتخاب میکنم و بعد روی اوکی کلیک میکنم تا باز شود.
در هرحال وقتی هر پروژه‌ای از exercise files را باز کنید، با یک صفحه خالی شروع میشود و چند بند را روی این صفحه میبینید، که کلیدهای میانبر را به عنوان کمک براب ما نوشته است.
مثلاً Double Shift برای سرچ استفاده میشود. این یعنی باید کلید شیفت را دوبار بزنم، و بعد میتوانم نام هر فایلی را که میخواهم تایپ کنم.
من تایپ را با main activity شروع میکنم و اینتر را فشار میدهم؛ و کلاس جاوا باز میشود.

پنجره project

ولی اینجا تمرکز اصلی من این است که به پنجره project بروم، که در سمت چپ صفحه هست.
میتوانید هم با کلیک کردن روی تب project و یا فشردن کلید Alt و 1 در ویندوز و Command و 1 در مک به پنجره project بروید.
همچنین میتوانید با بردن کرسر روی آیکن موجود در گوشه پایین و سمت چپ و سپس با انتخاب گزینه‎‌ای که میخواهید، پنجره مورد نظر خود را باز کنید.
خب من در پنجره project هستم.

بررسی ساختار پروژه در بخش Android

وقتی برای بار اول پنجره project را باز میکنید یک ویوِ فیلتر شده با نام Android را میبینید.
این ویوی فیلتر شده فقط فایلها و فولدرهایی که در طول فرآیند توسعه بیشتر مورد استفاده قرار میگیرند را به شما میدهد.
خب، این یک فایل Android Manifest است که یک فایل XML است که برای تنظیمات و پیکربندی برنامه استفاده میشود.
این یک کلاس جاوا هست و اینها فولدرهای منابع هستند که فایلهای XML و فایلهای گرافیکی برای مدیریت برنامه شما اینجاها قرار میگیرند.
ولی این ویو به ساختار فعلی روی هارد دیسک برنمیگردد.

بررسی ساختار پروژه در بخش project

برای دیدن این موضوع کافی است، ویو اندروید را به project تغییر بدهم و ساختار دایرکتوری فعلی را میبینم.
اینجا یک فولدر .gradle وجود دارد که در ویو اندروید نشان داده نشده بود.
یکی دیگر با نام .idea و همینطور فولدرهای دیگری اینجا میبینید که با یک دات شروع شدند و این فولدرها در مک قابل دیدن نیستند. در اغلب موارد نیازی نیست که برای این فولدرهای مخفی شده نگران باشید. ولی به عنوان یک توسعه دهنده اندروید که از اندروید استودیو استفاده میکند، باید از وجود آنها و اینکه چی هستند خبر داشته باشید.
پس بیایید برخی جزییات را ببینیم.
فولدر app بعضی چیزای شناخته شده را در اندروید استودیو نشان میدهد که به آنها یک ماژول میگویند، که در داخل آن یک فولدر source وجود دارد و در آن فایلی با نام main است.
این جایی است که میتوانید کلاسهای جاوا و فولدرهای منابع خود را پیدا کنید، و همچنین فایل XML Android Manifest را.

نام پکیج برنامه یا application ID

در زیر فولدر جاوا؛ فایلی با نام پکیج شما وجود دارد و این به صورت پیشفرض نام یک برنامه ساده اندروید است که بطور پیشفرض یک نام تک و منحصر بفرد است. در واقع نام این پکیج آی دی برنامه هست.
و بعد در آن کلاس main activity، که الان تنها کلاس برنامه ما است. نام پکیجی که بالای این فایل جاوا است در واقع همان نام پکیج منحصربفرد و آی دی برنامه ما است.
به علاوه این نام در فایل Android Manifest اینجا ثبت شده. در root elements در ویژگی package.
همچنین میبینید که این نام در فایلی به نام build.gradle هم در ویژگی به نام application ID ثبت شده.
پس این نام پکیج خیلی مهم است و چندین جا ثبت شده. اگر خواستید نام پکیج را عوض کنید، براحتی میتوانید در اندروید استودیو اینکار را انجام بدهید، ولی همه این مکانهایی که نام پکیج را دارند، باید در همان زمان آپدیت کنید و بالطبع نام فعلی دایرکتوری پکیج شما تغییر میکند.

فولدر منابع پروژه اندرویدی

فولدر RES شامل همه فولدرهای منابع شما میشود.
یک فایل به نام drawable میبینید که بطور پیشفرض خالی است. در واقع این قسمت جایی است که نوعاً فایلهایی با پسوند png و jpg برای نمایش گرافیک در برنامه شما قرار میگیرند.
سابفولدرِ لایوت، فایلهای XML ای هستند که در واقع نشان دهنده صفحات نمایشی برنامه هستند.
در مورد این قسمت جزییات را خواهم گفت، دقت کنید حتی یک برنامه اندروید ساده میتواند دو تا فایل لایوت داشته باشد. مثلاً یکی با نام activity main و یکی هم با نام content main.
اینها به نظر شبیه هم هستند ولی در واقع متفاوت هستند.
Activity main یک فایل XML هست که بعنوان صفحه اصلی به سایر صفحات نمایشی سرویس میدهد.
و بعد فایل content اینجا است و شامل یک خط دستور هست.
از اینجا من میتوانم با فشار دادن کلید Control در ویندوز و Command در مک، به فایل یا لایوت مورد نظر بروم.
و میبینید که این فایل XML یکسری توضیحات و دستورات برای شرح element موجود در صفحه نمایش دارد مثل تکست ویو، باتن و انواع ویوهای دیگر.
خب اینجا یک سابفولدر با نام menu هم وجود دارد، که شامل فایلهای XML ای میشود که برای تنظیمات منوهای برنامه بکار میرود.
بعد، یکسری فولدر اینجا است با نام mipmap.
که در واقع هر کدام از این فولدرهای mipmap فرمت خاصی از فایلهای گرافیکی با پسوند png که launcher نام دارند را برای انواع سایز های صفحات نمایشی دستگاههای واقعی مثل موبایل و تبلت دارند.
این شکلی است که روی صفحه نمایش اصلی دستگاه برای نمایش به کاربر نشان داده میشود، جایی که برنامه راه اندازی میشود. در واقع آیکن اصلی برنامه است که کاربر با کلیک روی آن برنامه را اجرا میکند.
نسخه‌های زیادی از این فایلهای گرافیکی وجود دارد.
و توجه داشته باشید که این فولدرها با پسوند DPI برچسبگذاری شدند، که نشان دهنده همان ظرفیت پیکسلی دستگاه مورد نظر است که گفتم. که در واقع تفاوت بین انواع دستگاههای موجود با ظرفیت پیکسل متفاوت را نشان میدهد.
ظرفیت پیکسل اکثر دستگاههای جدید شامل قسمت XHDPI میشوند و دستگاههایی که این ظرفیت پیکسلی را ندارند ممکن است شامل قسمت XXHDPI شوند.
در زمان اجرا، فریم ورک برنامه ورژن مناسبی از فایل با پسوند png را برای نمایش روی دستگاه جاری انتخاب میکند. من در طول این دوره ساخت فایلهای گرافیکی را با dpi های مختلف به شما نشان میدهم.
خب، اینجا یک سابفولدر به نام value هم میبینید، که شامل فایلهای xml میشود.
فایل strings.xml، برای شرح و دادن نام به رشته‌هایی که در برنامه استفاده میشوند کاربرد دارد.
مثلاً رشته‌ای با نام app name که همان نام برنامه است که دارای مقدار hello world هست.
استفاده از منابع رشته‌ای شبیه این، میتواند ترجمه شود و میتوانید برنامه خود را برای زبانهای مختلف امکان پذیر کنید و تغییر بدهید. میتوانید یک نسخه از این رشته را به زبان انگلیسی داشته باشید، یکی برای زبان فرانسه، یکی برای آلمانی و غیره.
همچنین فولدرهایی با نام ولیو با پسوندهای دیگر میبینید.
Values V21 فایلهایی دارد که در زمان اجرا برنامه روی دستگاه‌هایی که از API 21 به بعد استفاده میکنند، تنظیماتی را فراخوانی میکند.
و این فولدر values w820dp شامل تنظیماتی است، که وقتی یک برنامه روی یک دستگاه با صفحه نمایش بزرگ اجرا میشود آن تنظیمات را فراخوانی میکند.
به طور خاص یک دستگاه عرضش حداقل 820 independent pixels است. حالا، من یک تعداد اصطلاحات فنی اینجا استفاده میکنم که مخصوص اندروید هستند. مثل دستگاه independent pixels و همه این اصطلاحات را در طول دوره توضیح میدهم.

جمع بندی

خب؛ این یک بیسی بود برای ساختار کلی پروژه. ما باز هم با این ویوهای اندروید زیاد کار میکنیم. نگران این فولدرها و فایلهایی که نگفتیم نباشید چون زیاد به آنها نیاز نداریم.
به علاوه ویو اندروید فایلها را به صورت جالبی ترکیب کرده.
در ویو اندروید دوتا فایل dimens.xml میبینیم.
این فایلها ابعاد را شرح میدهند، و اینجا میبینیم که یکی برای ورژن پیش فرض است و فولدر w820dp هم مقادیر را برای صفحه نمایشهای بزرگتر فراخوانی میکند.
هدف ویو اندروید این است که شما برنامه را سریعتر و راحتتر بسازید.
ولی همیشه میتوانید یک نگاهی هم به project view بیندازید و ساختار فایلها و فولدرهای آنرا ببینید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

error: Alert: Content is protected !!