بررسی کدها و لوازم پروژه ی اندرویدی
اکنون می خواهیم به فایل های منبعی که حاوی کدهای رابط کاربری ما هستند، نگاهی بیاندازیم و همچنین از فایلی که حاوی کدهای جاوای ما است دیدن کنیم. در اینجا قصد نداریم که تمام کدها را توضیح دهیم، بلکه تنها بخش هایی که فعلا برای شما قابل فهم است را توضیح می دهیم. ابتدا اجازه دهید تا به کدهای جاوا نگاهی بیاندازیم. برای مشاهده ی این کدها، همان طور که در تصویر زیر نشان داده شده است، بر روی تب MyActivity.java کلیک کنید:
به دلیل اینکه ما نمی خواهیم وارد جزئیات شویم، استفاده از عکس های علامت گذاری شده، بهتر از آوردن تمام کدها است. بنابراین هنگام خواندن توضیحات به عکس زیر توجه کنید. من(نویسنده) این کدها را علامت گذاری کرده ام تا بعداً آنها را توضیح دهم:
اجازه دهید تا به تفصیل در مورد این کدها توضیح دهیم. ابتدا به بخش هایی که با شماره ی 9 نشان داده شده اند توجه کنید. همان طور که مشاهده می کنید، در کنار هر یک از این بخش ها یک علامت + یا - وجود دارد. این علامت ها باعث می شوند که این کد گسترده شود و یا کوچک شود. من بخش های 7 و 8 را کوچک کرده ام. دلیل این کار این است که در این لحظه نمی خواهیم این کدها را توضیح دهیم. بنابر موارد ذکر شده، ممکن است آنچه که اکنون شما در تصویر بالا می بینید، کمی با آنچه که در اندروید استودیو مشاهده می کنید، متفاوت باشد.
به قسمت نشان داده شده با عدد 1، تعریف پکیج گفته می شود و اگر به خاطر داشته باشید، این نام همان نام پکیجی است که هنگام ایجاد پروژه آن را ایجاد کردیم. هر فایل جاوا، در بالای خود، یک تعریف پکیج خواهد داشت.
قسمت شماره ی 2، چهار خط کد را نشان می دهد که با کلمه ی import شروع شده اند. پس از کلمه ی import، چند عبارت را مشاهده می کنید که با علامت نقطه به یکدیگر متصل شده اند. آخرین کلمه در هر خط، درواقع نام کلاسی است که این دستور می خواهد آن را به پروژه ی ما اضافه کند. و تمام کلمات قبلی درواقع نشان دهنده ی نام پکیج ها و زیر پکیج هایی هستند که حاوی این کلاس ها هستند. این بدان معنی است که پروژه ی ما به کلاس های AppCompatActivity و Bundle و Menu و MenuItem دسترسی دارد. ما قصد نداریم که تمام این کلاس ها را بلافاصله توضیح دهیم. فعلا فقط کافی است مفهوم import کردن را درک کنید. به خاطر داشته باشید که ما می توانیم در هر زمانی، کلاس های دیگری را از هر پکیجی، به کدهای خود اضافه کنیم.
به قسمت شماره ی 3، تعریف یک کلاس گفته می شود. در زیر می توانید این خط کد را مشاهده کنید:
مثال (بررسی کدها و لوازم پروژه ی اندرویدی)
public class MyActivity extends AppCompatActivity {
در ابتدای ایجاد هر کلاس، باید آن را تعریف کنیم. در مثال بالا، به عبارت قرمز رنگ توجه کنید. همان طور که مشاهده می کنید، این همان نامی است که هنگام ایجاد پروژه انتخاب کردیم. و مشابه با نام فایل MyActivity.java می باشد. کلمه ی کلیدی extends به این معنی است که کلاس ما که نامش MyActivity است، کلاس AppCompatActivity را توسعه می دهد. همیشه لازم نیست که از کلمه ی extends استفاده کنیم زیرا گاهی اوقات نیاز به توسعه ی یک کلاس نداریم.
در مثال بالا، ما کلاس AppCompatActivity را توسعه دادیم، زیرا می خواهیم تمام کدهایی که در کلاس AppCompatActivity قرار دارند، به کدهای ما اضافه شوند. در نهایت در قسمت شماره ی 3، به آکولاد باز شده توجه کنید و در قسمت شماره 4، به آکولاد بسته شده توجه کنید. علامت آکولاد بسته، پایان یک کلاس را نشان می دهد. و هر چیزی که بین آکولاد باز و آکولاد بسته قرار گیرد بخشی از این کلاس محسوب می شود.
اکنون به بخش شماره ی 5 توجه کنید. این بخش محور اصلی توضیحات ما را تشکیل می دهد. به مثال زیر توجه کنید:
مثال (بررسی کدها و لوازم پروژه ی اندرویدی)
protected void onCreate(Bundle savedInstanceState) {
مثال بالا، ساختار یک متد را نشان می دهد. قسمت قرمز رنگ، یا همان onCreate نام متد را نشان می دهد. برای اینکه کدهای درون یک متد اجرا شوند، ما از نام آن متد استفاده خواهیم نمود. به این کار، فراخوانی یک متد گفته می شود. با اینکه اکنون هیچ نگرانی راجع به کدهای قرار گرفته در سمت چپ و راستِ نام متد بالا نداریم، ممکن است متوجه شده باشید که کلاس Bundle یکی از همان کلاس هایی است که در قسمت شماره 2، آن را import کردیم. حالا اگر ما خط کد مربوط به import کردن کلاس Bundle را حذف کنیم، دیگر اندروید استودیو آن را نمی شناسد و بلا استفاده خواهد ماند و با خطا مواجه خواهیم شد و کد ما کامپایل و اجرا نخواهد شد. توجه کنید که در آخر خط کد بالا، یک علامت آکولاد باز شده قرار دارد، و مشخص می کند که کدهای بعد از آن، در داخل متد onCreate قرار دارند.
اکنون به قسمت شماره ی 6 توجه کنید. در اینجا یک آکولاد بسته شده را مشاهده می کنید. احتمالا حدس زده اید که این آکولاد، پایان این متد را نشان می دهد.
قسمت های 7 و 8 نیز متد هستند، من آنها را کوچک کرده ام تا این بحث را به پایان برسانم. نام این دو متد onCreateOptionsMenu و onOptionsItemSelected است. اکنون ما برای انجام برخی از کارها، با زبان جاوا آشنا شده ایم. بعداً دوباره برخواهیم گشت و دوباره به طور عمیق کدها را توضیح خواهیم داد.
- نوشته شده توسط احسان عباسی
- بازدید: 4352