نام‌نویسی
پس از تکمیل اطلاعات زیر، گذرواژه برای شما ارسال می‌شود.

از سری آموزش برنامه نویسی اندروید قسمت نهم و بخش منو ها با شما هستیم. در قسمت های قبلی یاد گرفتیم که از کلاس های آماده چگونه استفاده کنیم از کلاس های آماده برای تولید منو ها بسیار استفاده می شود از همین سورسی که امروز برای شما تدوین می‌شود هم می‌توانید برای تولید انواع مدل های خود استفاده کنید. در هر حال برنامه های اندرویدی قسمت بزرگی از زیبایی خود را بعد از کلید ها و متن ها شاید مدیون منو ها هستند. منو های تو درتو و کشویی یا منو های پنهان و دیگر.

با ویندوزسنتر هراه باشید.

menu

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

به تازگی یک تحقیق علمی ثابت کرده است کسانی که ذهن قوی و خلاق تر دارند سخت تر از افراد معمولی به خواب فرو می روند.  به عبارت دیگر هر کس ذهن پویا تری دارد به سختی می تواند مغز خود را خاموش کند پس باید بیشتر از بقیه از ذهن و توانایی خود استفاده کند و بیشتر بیدار بماند. مغز شما همواره خود تشخیص می دهد که کی و چه موقع نیاز به خواب دارد صرفا فقط همان موقع بخوابید. بقیه موارد را به برنامه نویسی بگذرانید.menu

از بحث خارج نشویم. منو ها در برنامه ها کاربرد های گسترده دارند که به تفضیل آن های می پردازیم:

• منو های کنترلی

• منو های اضافی

• تنظیمات تکراری

منو های کنترلی:

این منو ها بیشتر منو هایی هستند که اغلب در رده ی اول اولویت قرار دارند و کاربر از آن ها برای تنظیم برنامه یا گوشی یا هر چیز دیگر استفاده می کند و اصولا پر کاربرد هستند. برای مثال منویی که در قسمت پیشانی سایت ویندوزسنتر قرار دارد از این نوع منو ها است. نام دیگر این مدل از منو ها در این از تقسیم بندی منو اصلی نیز می باشی. در واقع امور کلی و همه برنامه یا سایت یا هر چیز دیگر را شامل می شود.

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

منو های اضافی:

این نوع از منو ها در واقع امور مربوط به هر قسمت را در بر دارند. برای مثال شما از منوی اصلی وارد یک مرحله از یک بازی می شوید در درون بازی هم می توانید از طریق منو هایی از این قبیا اقدام به تنظیم مثلا نور پس زمینه یا صدای بازی بکنید. استفاده از این نوع از منو ها بسیار رایج است و صرفا اسم اضافی به خاطر نوع استفاده آن است و گرنه خیلی هم مفید و کار آ می باشد.

menu

تنظیمات تکراری:

این قسم از منو ها در واقع کار کلید ها متن های تکراری را در برنامه انجام می دهند. برای مثال شما در درون یک مرحله از باری یک امکان فراهم کرده اید که نور پس زمینه را زیاد یا کم کنید. در مرحله ی بعدی به خاطر محدودیت ها بازی یا مرحله ای گرافیکی این امکان را نیم توانید با کلید فراهم کنید در این جا این نوع از منو ها برای شما گره گشا خواهند بود.

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

در برنامه نویسی اندروید همان طور که حتما در انواع برنامه ها دیده اید منو های بسیار متنوعی را داریم از قبیل پاپ آپ منو یا منوی کشویی یا منو های کناره یا منو های اسلایدر و غیره. باید دقت شود که منو ها در حقیقت برای راحتی کار کاربر باید ایجاد شوند نه این که بیش از حد حتی کاربر را گیج هم بکنند برای همین این نکته که از منو ها به جا و درست و به اندازه استفاده کنیم بسیار حائز اهمیت است. به عنوان یک برنامه نویس اندرویدی شما باید بدانید اولین نکته محرک برنامه شما برای جذب شدن برنامه توسط مشتری این است که گرافیک خوب و زیبایی داشته باشد بعد از ان اگر محتوای خوبی داشته باید به چشم می آید.

menu

نکاتی که بهتر است قبل از طراحی یک منو حتما مد نظر قرار دهید:

1- نوع برنامه: اگر نوع برنامه شما ورزشی یا موسیقی باشید منویی که برای آن استفاده می کند باید با برنامه ای که صرفا یک لغت نامه است تفاوت داشته باشید. برنامه های اصولا مهیج باید منوهایی مثل بت وار یا کشیویی یا حد اقل پاپ آپ داشته باشند و برنامه های بیشتر متنی مثل برنامه های لغت نامه ای می توانند منو های تو در تو یا اسلایدر داشته باشند.

2- نیاز به منو: باید در برنامه حتما احساس منو داشتن را به وجود بیاورید. یعنی وقتی کاربر برنامه را نصب کرد حتما دنبال منو بگردد در این صورت است که شما منویی درست را کار گذاشته اید. حتما مشاهده کرده اید که در بعضی موارد شما منو را دیده اید و زود به اضافه بودن آن پی برده اید . نباید در برنامه هم چین موردی را داشته باشید.

menu

3- منوی تودرتو: کمتر از منو های تو درتو استفاده کنید. اگر در درون یک منو یک منوی دیگر و در درون آن هم یک منوی دیگر و بازهم به همین ترتیب منو باشید کاربر گیج خواهد شد و از ان جایی که طبق آمار مصرف کننده های اندرویدی کم حوصله ترین نوع مصرف کننده هستند به راحتی حتی همه ی برنامه ی شما را کنار بگذارند. آن ها که نمی دانند شاید شما برای این برنامه یک هفته وقت صرف کرده اید حتی مهم هم نیست که وقت گذاشته اید پس خودتان به وقت و خلاقیت خود بهاء دهید.

چند نکته دیگر…

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

menu

نحوه ایجاد و استفاده از منو ها در برنامه های خود:

هر کدام از برنامه هایی که تا کنون ایجاد کرده اید را در منوی اکلیپس یا گوگل استودیو یا اندروید بیسیکس باز کنید و صبر کنید کاملا باز گذتری شود. بعد از این که فایل های پروژه به شکل کامل باز گذاری شدند در پوشه ی  RES طبق شکل زیر یک پوشه جدید باز کرده و نام آن را منو قرار دهید:

menu

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

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

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

با این حال در فایل منویی که ایجاد کردیم می توانیم مقدار پیش فرض زیر را ذخیره کنیم:

<menu xmlns:android=”http://schemas.android.com/apk/res/android”>

</menu>

بعد از اضافه کردن و تولید فایل منو باید آیتم های مختلف رو به اون اضافه کنیم:

<item android:id="@+id/about"       آیتم اول در باره ما خواهد بود
android:title="About" />
<item android:id="@+id/help"   آیتم دوم کمک خواهد بود
android:title="Help" />

بدیهی است می توانیم آیتم های جدیدی هم اضافه کنیم  و مثل همیشه جای خلاقیت شما هم باز است.

بعد از اینکه توانستیم فایل های گرافیکی رو ایجاد کنیم و منو را ذخیره کنیم باید امور مربوط به اون رو توسط کد جاوا مدیریت کنیم:

برای این کار از کلاس Infale باید استفاده کنیم. کلاس inflate برای ما به عنوان یک عامل عمل خواهد کرد و حالت های مختلف را طبق دستوری که به آن می دهیم برای ما پیش خواهد آورد:

public boolean onCreateOptionsMenu(Menu menu) {   تابع دو حالته پیش فرض را که ادیتور تولید می کند
        
    MenuInflater inflater = getMenuInflater(); طبق مفهوم و شی گرایی جاوا باید از کلاس جاوا یک شیء بسازیم
    inflater.inflate(R.menu.my_options_menu, menu); فایل های گرافیکی رو به تابع نسبت می دهیم
    return true;
}

می دانیم حالت های زیادی را باید هندل کنیم ولی برای آموزش و دیدن منو فعلا این قسمت را امتحان می کنیم: این قسمت از کد نویسی برای کار آموز تازگی و سختی دارد اما نگران نباشید به زودی و راحتی آن را خواهید شناخت.

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

برای این که درس قبلی را نیز در منو ها پیاده کنیم یک منوی دیگر را نیز با استفاده از کلاس های آماده می سازیم:

<?xml version=”1.0″ encoding=”utf-8″?> تشکیل منو ها
<menu
xmlns:android=”http://schemas.android.com/apk/res/android”>
<item آیتم اول
android:id=”@+id/feeds”
android:title=”Feeds”/>
<item آیتم دوم
android:id=”@+id/friends”
android:title=”Friends”/>
<item آیتم سوم
android:id=”@+id/about”
android:title=”About”/>
</menu>>

بعد از فایل گرافیکی فایل جاوای مربوطه را برای تحویل گرفتن فایل گرافیکی ست می کنیم:

public class MenuTest extends Activity { کلاس اصلی که پیاده سازی می کنیم
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater(); استفاده از کلاس inflate
inflater.inflate(R.menu.more_tab_menu, menu); نسبت دادن فایل های گرافیکی
return super.onCreateOptionsMenu(menu);

}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch(item.getItemId()) گرفتن فایل یا عامل حامل منوی انتخاب شده برای ما
{
case R.id.feeds: کیس اول برای گزینه اول
break;
case R.id.friends: کیس دوم برای گزینه دوم
break;
case R.id.about: کیس سوم برای گزینه سوم
break;
}
return true;
}
}

نکته ی نسبتا مهم در این جا این است برای انجام انواع یوزینگ های درخواستی از جانب ادیتور می توانیم کلید های کنترل + اسپیس را بزنیم تا جایگزین های موجود برای ما پدیدار شود.

با استفاده از کلاس های آماده هم در وقت و هم در خلاقیت بهره وری را به نهایت می رسانیم. کسی که اقدام به برنامه نویسی می کند باید همواره سعی کند چیز های جدید را برنامه بنویسید از چیز های موجود فقط استفاده کافی است.

با ویندوزسنتر همراه باشید.

پیوست

Leave a Reply

Your email address will not be published.

Developed by Nasour Naghipour