هدفم از این درس اینه که بتونم یه پروژه اولیه رو روی اندروید استادیو بالا بیارم و فایلای داخل پروژه رو تا جایی که الان احتیاج دارم، توضیح بدم.
آموزش ایجاد یه پروژه توی اندروید استادیو توی نت هست خیلیم عملی و عالی . این قسمت رو به صورت عملی نشون میدم.
minimum sdk : این عدد نشون میده که پروژه ما از چه ورژنی از اندروید به بالا میتونه اجرا بشه. مثلا از ورژن 15 تا ورژن 23 یعنی از اندروید 4 تا اندروید 6 اپ من میتونه ران بشه. بعد اگه برنامه ام رو روی اندروید 2 بخام نصب کنم اجازه نمیده و میگه ورژنش به دستگاه شما نمیخوره. ولی فکر کنم روی اندروید 7 اجرا میشه
package : این پکیج قسمت بندی اصلی کدهای جاوا رو نشون میده و به منظم شدن کار خیلی کمک میکنه. این قضیه توی پروژه های بزرگ خیلی مهمه. نکته ای که اینجا هست اینه این پکیج بندی به صورت فیزیکی هست . یعنی واقعا توی workspace به ازای لایه های پکیج های ما فولدر ایجاد میشه.
قسمت های مختلف یه اکتیویتی
قسمتای اصلی یه پروژه اندروید توی ide ی اندروید استادیو به ترتیب ایناست :
1-java
2-res
3-manifest
4-gradle
البته یه نکته ای که خیلی خیلی مهمه اینه این ترتیب بستگی به بیلد سیستم داره یعنی توی اندروید استادیو که به سیستم gradle کار میکنه، ساختار یه پروژه به این شکله. ولی در اکلیپس که ant داره ساختار به یه شکل دیگه ایه.
یه چیز دیگه هم هست اینه که برای اینکه پروژه رو به این صورت ببینیم، باید مد نمایش رو از اون منوی کشویی بالا روی اندروید انتخاب کنیم و اگه مدل های دیگه اش رو برگزینیم :) نمایش های مختلفی رو بهمون نشون میده
1-جاوا
اصلی ترین قسمت کار کدهای جاواست این قسمت در فولدر java قرار میگیره. پکیج ها هم در همون جا هست
2-res
تو این قسمت ، فایلهای مربوط به طراحی قرار میگیره. layout ها، عکس ها، اندازه و متنها. هرکدوم از اینها در یه فولدر و فایل جدا قرار میگیرن
در برنامه نویسی اندروید، ترجیح اینه که هر چیزی در فایل res مخصوص به خودش قرار بگیره. مثلا بهتره همه اندازه ها در فایل dimen.xml باشه و همه متن ها در string.xml اینکار هم باعث مرتب شدن کار میشه و هم اینکه پشتیبانی از سایز و کلا شرایط مختلف مثل زبان های مختلف رو امکان پذیر میکنه.
3-manifest
در این فایل که پسوند xml داره ویژگی های کلی اپ قرار میگیره. قبلا که تمرکز گوگل روی اکلیپس و سیستم ant بود فایل منیفست مهم تر بود و ورژن و پکیج و ... هم توی این فایل قرار میگرفت ولی با اومدن سیستم گریدل یه سری از مسئولیتاش رفت پیش فایلای گریدل.
توی این فایل معرفی کامپوننت های برنامه و ویژگی هاشون و اجازه ها قرار میگیره و یه سری چیزای دیگه مثل intent قرار میگیره
4- geadle
این قضیه گریدل خیلی مفصله. کلا بیلد سیستم ، یعنی سیستمی که فایلای برنامه نویسی رو کامپایل میکنه و تبدیل به بایت کد و در نهایت فایل اجرایی میکنه. اول سیستم ant بود در اکلیپس و الان شده gradle که دستوراتش رو با groovy مینویسن و کلی قضیه مثل تولید flavor های مختلف داره که اینجا جاش نیست. ببینین هر اپ ممکنه از چندین ماژول ساخته شده باشه. منظورم از ماژول قسمتاییه جدا از هم هستن . شاید خوب نتونم بگم ولی مثلا اپ روت ما یه ماژوله ، بعد اگه از یه کتابخونه اپن سورس توی برنامه استفاده کنیم اون میشه یه ماژول دیگه. به ازای هر ماژول یه فایل gradle وجود داره داخل این فایل کارای مهمی انجام میشه. 1- تعریف پکیج برنامه 2- تعریف ورژن ها 3- تعریف ریپوزیتوری و کتابخونه ها 4- بعدها اگه خواستیم progaurd
یه فایل گریدل دیگه هم هست که مال کل برنامه یعنی همه ماژول هاست که ورژن گریدل رو داره و یه سری اطلاعات کلی تر.
تا اینجای کار ساختار یه اپ خالی رو تا یه حدی آشنا شدیم.
به عنوان تمرین یکی قضیه تصاویر در اندروید فولدرهای mipmap و drawble و انواعش و دیگه پسوند های کلی فولدرهای res رو سرچ کنین که قضیه اش چیه