آکادمی آموزش آنلاین طوسی

ساخت پروژه BMI (قسمت سوم)

اهداف آموزشی این درس:

1. سایت یک کلاس جدید

2. معرفی کلاس جدید داخل فایل AndroidManifest.xml

3. نوشتن کدهای مربوط به دکمه Start

در دو آموزش قبل مرتبط با پروژه BMI، قسمت قابل توجهی از UI اپلیکیشن را طراحی کردیم. در این آموزش قصد داریم تا بیشتر روی back-end پروژه کار کنیم (در واقع منظور از front-end بخشی از اپلیکیشن است که کاربران مشاهده می کنند مثل UI و ... و back-end هم جایی است که طراح اپلیکیشن مشاهده می کند مثل کدهای جاوا و ...).

اما پیش از هر چیز برای آنکه UI دومی که طراحی کردیم از لحاظ زیبایی شناسی هم تا حدودی خوب به نظر برسد، نیاز است تا کلیه عناصر قرار گرفته روی UI را در مرکز قرار دهیم:

همانطورکه در تصویر فوق می بینیم، همه عناصر متمایل به چپ هستند. برای رفع این مشکل صرفاً نیاز است تا روی بخش سفید رنگ UI کلیک راست کرده و از گزینه Gravity مورد center را انتخاب کنیم:

حال کلیه عناصر قرار گرفته روی فایل second_layout.xml در وسط UI قرار خواهند گرفت (لازم به ذکر است که این پروژه داخل نرم افزار ADT Bundle انجام می شود و این احتمال وجود دارد تا کاربرانی که از اکلیپس استفاده می کنند با محیطی تا حدودی متفاوت رو به رو شوند):

حال می خواهیم کاری کنیم زمانیکه روی دکمه Start که روی UI اصلی اپلیکیشن قرار دارد کلیک می کنیم به UI دوم ارجاع داده شویم. برای این منظور ابتدا می بایست یک فایل جاوای دیگر تحت عنوان SecondActivity.java ایجاد کرده و آن را به second_layout.xml لینک دهیم:

برای این منظور همانطور که در تصویر فوق مشاهده می شود، روی نام پکیج پروژه کلیک راست کرده و از گزینه New روی Class کلیک می کنیم:

همانطور که در تصویر فوق می بینیم در بخش Name نامی همچون SecondActivity را وارد می کنیم (در اینجا نیازی نیست تا پسوند java. را به نام فایل خود ضمیمه کنیم چرا که این کار به صورت خودکار انجام می شود).

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

در فیلدی که برای جستجو در نظر گرفته شده است، به محض نوشتن ابتدای نام کلاسActivity می بینیم که این کلاس در معرض دید ما قرار می گیرد. حال همانطور که در تصویر فوق می بینیم کلاس  Activity را انتخاب کرده و روی دکمه OK کلیک می کنیم:

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

پیش از هر چیزی می بایست این کلاس جدید را داخل فایل AndroidManifest.xml معرفی کنیم. برای این کار، دو بار روی این فایل کلیک کرده تا در محیط برنامه نویسی ما باز شود:

همانطور که در تصویر فوق می بینیم، روی Tab مربوط به Application کلیک کرده سپس در بخش Application Nodes روی دکمه Add به معنی "اضافه کردن" کلیک می کنیم:

سپس پنجره جدیدی باز خواهد شد که در آن می بایست نوع چیزی که می خواهیم داخل فایل AndroidManifest بشناسانیم را مشخص کنیم. از آنجا که قصد داریم یک Activity جدید ایجاد کنیم پس گزینه مربوطه را انتخاب کرده و دکمه OK را کلیک می کنیم:

حال در بخش Name نام SecondActivity را بدون پسوند java. وارد کرده و این فایل را ذخیره می کنیم.

در ادامه همانطور که در آموزش های قبل توضیح داده شد، می بایست این کلاس جدید را به UI مربوطه لینک دهیم. برای این منظور کدهای داخل کلاسSecondActivity.java را به صورت زیر تکمیل می کنیم:

همانطور که در کد فوق می بینیم، از طریق متد ;()setContentView این کلاسرا به فایل xml مربوطه لینک داده ایم.

اگر خاطرمان باشد پیش از این روی UI اول یک دکمه تحت عنوان Start ایجاد کردیم. حال می بایست کاری کنیم که با کلیک روی آن، به UI دوم اپلیکیشن انتقال پیدا کنیم. برای این منظور، کدهای فایل MainActivity.java را به صورت زیر تکمیل می کنیم:

همانطور که قبالً توضیح داده شده است، برای آنکه بتوان به یک دکمه دستور داد تا کاری را انجام دهد، می بایست از کلاسی تحت عنوان OnClickListener استفاده کرد. نامی که برای این کلاس در نظر گرفته ایم listenPlease به معنی "لطفاً گوش بده" است که این نام کاملاَ دلخواه است.

سپس داخل متد onClick این کلاس یک Intent تحت عنوان myIntent ایجاد کرده ایم و به آن دستور داده ایم که هر وقت فرا خوانده شد، از این Activity که MainActivity.java است به Activity دوم که SecondActivity.java است برود (با توجه به اینکه این مسائل پیش از این کاملاَ توضیح داده شده اند، در این آموزش به خاطر طوالنی نشدن توضیحات از بررسی دقیق این کلاس ها خودداری خواهیم کرد. خواهشمند است برای کسب اطالعات بیشتر به درس های مربوطه مراجعه نمایید).

اکنون می بایست داخل متد onCreate این فایل، دکمه ای که تحت عنوان Start ایجاد کردیم را معرفی کنیم. اگر خاطرمان باشد برای این دکمه یک id تحت عنوان start_btn در نظر گرفتیم که در اینجا با استفاده از همین id به دکمه خود لینک خواهیم داد. برای این منظور کدهای زیر را وارد متد onCreate می کنیم:

همانطور که می بینیم برای کلاس Button اندروید نامی تحت عنوان myButton در نظر گرفته شده و با استفاده از متد setOnClickListener آن را به شیئی که از روی کلاس  OnClickListener به نام listenPlease ایجاد کردیم لینک داده ایم.

حال یک بار اپلیکیشن خود را اجرا می کنیم:

می بینیم که پس از کلیک کردن روی دکمه Start به UI بعدی انتقال داده می شویم:

پس از مطالعه این آموزش انتظار می رود بتوانیم به سؤالات زیر پاسخ بدهیم:

1. چرا کلاس دومی که ساختیم می بایست از کلاسActivity اندروید ارث بری کند؟

2. به چه شکل می توان یک کلاس جدید را داخل فایل AndroidManifest.xml معرفی کرد؟

برای مشاهده نظرات وارد سایت شوید یا ثبت‌نام کنید.

68th_Session,_BMI_Project,_Part_3.pdf

لینک دانلود فایل درس ساخت پروژه BMI (قسمت سوم)

سرفصل های آموزشی دوره رایگان برنامه نویسی اندروید Android

منبع این درس در سایت سکان (www.sokanacademy.com)