معرفی چند متد دیگردر اندروید

چاپ

 احتمالا تا به حال متوجه شده اید که در تمام پروژه های قبلی، دو متد دیگر نیز ایفای نقش می کردند. این متدها به طور اتوماتیک ایجاد می شدند و عبارتند از: 

  1. متد onCreateOptionsMenu
  2. متد onOptionsItemSelected

اکثر اپلیکیشن های اندروید، یک منوی پاپ آپ دارند، این منو به طور پیش فرض توسط اندروید استودیو ایجاد می شود. درواقع اندروید استودیو برای کار کردن این منو، مقداری کد را به برنامه اضافه می کند. 

 کدهای XML این منو، در پنجره ی project explorer در آدرس menu/menu_main.xml قرار دارند. مهمترین بخش این کدها، در زیر نشان داده شده است: 

کدها:

<item
        android:id="@+id/action_settings"
        android:orderInCategory="100"
        android:title="Settings"
        app:showAsAction="never" />

 این دستورات باعث می شود تا یک منو ایجاد شود و متن(عنوان)  آن منو برابر با مقدار Settings باشد. اگر یکی از اپلیکیشن هایی که قبلا ایجاد کردیم را باز کنید، دکمه ی زیر که با علامت سه نقطه نشان داده می شود را در آنها مشاهده خواهید نمود:

 

 حالا اگر این دکمه را لمس کنید، آیتم منوی ایجاد شده نشان داده خواهد شد، به صورت زیر: 

 متد onCreateOptionsMenu با استفاده از خط کد زیر، منوی ما را از فایل menu_main.xml بارگذاری می کند:

کد:

getMenuInflater().inflate(R.menu.menu_main, menu);

 به دلیل اینکه این متدها به وسیله ی نسخه ی پیش فرض متد onCreate فراخوانی می شوند، ما متوجه اجرای آنها نمی شویم. 

 متد onOptionsItemSelected زمانی فراخوانی می شود که کاربر بر روی دکمه ی منوی ما، ضربه می زند(کلیک یا لمس می کند). درواقع وقتی که بر روی یک آیتم از این منو کلیک شد،  این متد، تعیین می کند که چه اتفاقی باید رخ دهد. فعلا این متد در این لحظه چیزی را به جز مقدار true برنمی گرداند. 

می توانید از پیغام های Toast  و Log  برای تست کردن این متدها و ترتیب اجرای آنها استفاده کنید. از منوها، در پروژه های اندرویدی آینده استفاده خواهیم نمود. 

اکنون که فهمیدیم چرخه ی حیات اندروید چگونه کار می کند، و با تعدادی از متدهای آن آشنا شدیم، می توانیم با استفاده از override  کردن، با چرخه ی حیات اندروید ارتباط برقرار کنیم. اگر اصول و مبانی جاوا را به خوبی یاد بگیریم، می توانیم به راحتی می توانیم با این متدها کار کنیم.