خوب دوستان در دو قسمت قبل یاد گرفتیم که چجوری ظاهر لیوتمون رو طراحی کنیم.اگه الان اپلیکیشنمون رو اجر کنیم کاربر فقط میتونه سال تولدش رو در EditeText وارد کنه و با لمس کردن دکمه هیچ اتفاقی نمیافته  🙂
خوب حالا نوبت به کدنویسی در اکتویتی و تعیین منطق و عملکرد اپلیکیشنمون می رسه.می خواهیم کاری کنیم که وقتی که کاربر دکمه رو لمس کرد متن وارد شده در EditText(سال تولد کاربر) در اکتیویتی دریافت و عملیات لازم روی اون انجام بشه و در نهایت سن کاربر بر روی Text View نمایش داده بشه.
کارهایی که باید انجام بشن رو طی نوشتن یک تابع Java به اسم mohasebeh انجام می دیم.
قبل از شروع توصیه میکنم پست زیر رو مطالعه کنید :
آشنایی با View و معرفی متد FindViewByID جهت دسترسی به View ها در اکتیویتی

کدهای زیر مربوط به فایل لیوت ما می باشند .تنها تغییراتی که در این قسمت روی این کد ها دادیم افزودن خاصیت onclick به المنت Button است.

توضیح کدهایی که باهاشون کار داریم :
خطوط ۱۱ تا ۱۶: مربوط به تعریف View(ویوو) EditText بهمراه خصوصیات اون هستن.همانطور که می بینید id این المنت (view ) برابر edt1 می باشد.
خط ۱۹ : در این خط برای Button یک خاصیت onclick با مقدار mohasebeh  تعریف کرده ایم .که موجب می شود  وقتی که کاربر روی Button کلیک کرد تابعی با همین نام یعنی mohasebeh در اکتیوتی اجرا  بشه.(جلوتر این تابع رو در اکتیویی می نویسیم)

حالا بریم سراغ نوشتن تابع mohasebeh :
برای این که یک تابع بتواند توسط خاصیت onClick اجرا شود باید سه خاصیت زیر را داشته باشد :
۱-نوع برگشتی آن void باشد.
۲-سطح دسترسی آن Public باشد.
۳-یک پارامتر از نوع View را داشته باشد.
با توجه به نکات بالا تابع خودمون رو می نویسیم 🙂 همون طور که می بینید این تابع رو درون کلاس MainActivity تعریف کرده ایم .خطوط  ۱۱ تا ۲۰ )

توضیح کدهای مربوط به تابع mohasebe
خط ۱۱ : این خط مربوط با تعریف تابع می باشد .(همان طور که می بینید نوع بازگشتی این تابع Void و سطح دسترسی اون Public می باشد .همچنین یک پارامتر از نوع View دارد .)
خط ۱۳ : در این خط به وسیله تابع findeViewByid یک ارجاع به المنت edtAge موجود در لیوت داده یم سپس شیء View برگشت داده شده رو به وسیله قرار دادن (EditText) قبل از دستور findeViewById به یک شیء از نوع EditText تبدیل کرده و آن را با در edtAge ذخیره کرده ایم.
خط ۱۴ : در سمت راست با صدا زدن متد getText() روی شئ edtAge عبارت وارد شده در المنت edtAge رادریافت کرده و بوسیله صدا زدن متد toString() مقدار برگشت داده شده را به نوع String تبدیل کرده ایم.با قرار دادن متغیر رشته ای (matn) مقدار برگشت داده شده را در آن ذخیره کرده ایم.
تا اینجای کار عبارت وارد شده در edittext دریافت و در متغیری به نام  matn که نوع آن رشته ای ذخیر میکنیم .از آنجایی که مقدار دریافت شده از نوع String است و ما می خواهیم عملیات ریاضی روی آن انجام دهیم .(با کم کردن سال ۱۳۹۵ از سال تولد کاربر سن او را محاسبه کنیم) باید این مقدار را به مقداری از نوع int (صحیح) تبدیل کنیم.
خط ۱۵ : در این خط به وسیله دستور Integer.parsInt() مقدار موجود در متغیر matn را به نوع عددی تبدیل و آن را در متغیری از نوع صحیح به نام adad ذخیره کرده ایم.
خط ۱۶ : در این خط عملیات محاسبه سن انجام شده و آن را در متغیر sen ذخیره کرده ایم .
تا الان سن کاربر را محاسبه کرده و آن را در یک متغیر به نام sen ذخیره کرده ایم.حالا باید اون رو بر روی المنت Textview نمایش بدیم.پس باید اول یک ارجاع به این المنت ایجاد کنیم و بعدش متد مربوط به تنظیم متن رو روی اون صدا بزنیم.
خط ۱۸ : در این خط بوسیله متد findViewById یک ارجاع به المنت TextView موجود در لیوت داده ایم و آن را با نام txtResult ذخیره کرده ایم.
خط ۱۹ : در این خط با صدا زدن متد setText روی شئ txtResult سن کاربر را ر روی المنت txtResult موجود در لیوت تنظیم قرار می دهیم.(علت این که بعد از نوشتن سن( “”+ )را قرار داده ایم این است که مقدار نمایش داده شده بر روی TextView باید از نوع رشته باشد .بخاطر همین با اضافه کردن “”+ به مقدار صحیح sen ، این مقدار را به صورت رشته برای تنظیم روی المنت txtResult می فرستیم).

خوب کار ساختن اپلیکیشنمون به پایان رسید.همین طور که دیدید سطح اپلیکیشن بسیار ساده بود ولی هدف ما آشنایی با دستورات رایج در برنامه نویسی و بکار بردن اون ها در طی یک پروژه کوچک بود تا به شیوه ای ملموس تر با این دستورات و نحوه استفاده از اونها آشنا بشید. هر چه بیشتر جلو بریم با دستورات و مباحث جدیدتری آشنا می شیم و توانایی مون در ساختن اپلیکیشن های کارآمد تر بیش تر میشه ،پس با ما باشید.

خروجی نهایی اپلیکیشن محاسبه گر سن :

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

در صورتی که هرگونه سوال یا پیشنهادی داشتید از طریق بخش نظرات با ما در میان بگذارید .
موفق باشید.