مقدمه
در قسمت اول از “آموزش نرمافزار B4A (اندروید) و اتصال نرمافزار به آردوینو” به مواردی مثل B4A چیست، نصب نرمافزار و درنهایت آشنایی با محیط گرافیکی این نرمافزار هم پرداختیم، که منجربه ساخت یک نرمافزار شد. اما نرمافزاری که در قسمت قبل درست کردیم صرفا فقط یک محیط گرافیکی خالی بود که چند عکس در آن قرارگرفتهبود و اگر روی آیکونها کلیک میکردیم هیچ اتفاقی نمیافتاد. حالا در این قسمت میخواهیم به معرفی بخشهای دیگری از نرمافزار B4A بپردازیم که در ادامه به این موارد اشاره میکنیم:
- آشنایی با Event آیکونها در نرمافزار B4A
- آشنایی با Toastmessage در نرمافزار B4A
- آشنایی با Msgbox2 در نرمافزار B4A
- آشنایی با تعویض Activity ها با یک دیگر در نرمافزار B4A
- آشنایی با دستور شرطی IF در نرمافزار B4A
آشنایی با Event آیکونها در نرمافزار B4A
اگر از قسمت قبل خاطرتان باشد نرمافزاری را که نوشتیم فقط و فقط یک ظاهر گرافیکی داشت و درصورتیکه روی هرکدام از آیکونها میزدیم هیچ اتفاق خاصی نمیافتاد. حال میخواهیم تابعی در نرمافزار B4A معرفیکنیم که دقیقا تشخیص میدهد که اگر روی هر آیکونی که تعریفشدهاست زده شد چه عملی را انجامدهد. برای اینکه بتوانیم این توابع را فراخوانی کنیم چند روش دارد که در این آموزش از سادهترین حالت ممکن استفاده میکنیم. به تصویری که در ادامه میگذاریم دقت کنید.
همانطوریکه در عکس مشاهده میکنید ابتدا روی آیکونی که در قسمت قبل تعریف کرده بودیم راست کلیک میکنیم و در قسمت Generate ایتدا باید آیکون موردنظر را تعریفکنیم که اینکار در این نرمافزارها با دستور Dim شروع میشود و درنهایت روی Event که مدنظر است کلیک میکنیم. زمانیکه کلیک کردیم در صفحه اول باید یک تابع تعریفشدهباشد و درنهایت درون تابع موردنظر دستوری که میخواهیم را مینویسیم.
اگر به تصویربالا دقتکنید مشخصاست که در محیط گرافیکی قسمت Click را انتخاب کردهایم از کجا فهمیدیم؟ از قسمت آخر تابع که نوشتهشده _Click متوجهشدیم هرچند که خودمان این تابع را تعریف کردهایم اما اگر کد دیگری را هم بررسی میکردید بهراحتی قادربودید که متوجه Event کد شوید. عملکرد تابع به این شکلی است که با فشردن کلید موردنظر کاری را که تعیین کردهاید انجام میدهد. که در اینجا میخواهیم دستور زیر را وارد کنیم و زمانیکه کاربر کلیککرد دستوری را که در ادامه مینویسیم به کاربر نمایشدهد.
Sub ON_Button_Click ToastMessageShow("LED در حال روشن شدن است",True) End Sub
دستوری که در تابعبالا نوشتهشدهاست، دستور Toast message show است که این دستور در قالب یک پیام کوتاه شناخته میشود. همانطورکه در تابع مشخص است این تابع دارای دو ورودی است. یکی نوشتن متن موردنظر و دیگری برای تعیین مدت زمان ماندگاری پیام است که طبق نیاز شما میتواند True یا False باشد. اگر True انتخاب شود مدت زمان ماندگاری پیام بیشتر خواهد بود و درغیر اینصورت ماندگاری پیام زمانیکه روی آیکون موردنظر کلیک میشود کمتر میباشد. خب تا این قسمت یادگرفتیم که چطور از این Event ها استفاده کنیم. حال اگر بخواهیم به مدت چندثانیه روی آیکون موردنظر دست خود را قرار دهیم باید چه کاری را انجام دهیم؟ دقیقا روند قبلی را باید طی کنیم با این تفاوت که باید روی LongClick کلیک کنیم. و درنهایت پساز اینکه تابع تعریفشد دستورات دلخواه خود را بنویسیم که میخواهیم دستور Msgbox2 را در تابع موردنظر بنویسیم. به دستوری که در ادامه مینویسیم دقتکنید.
Sub OFF_Button_LongClick Dim result As Int result = Msgbox2("انصافا دلت میاد LED به این خوشگلی رو خاموش کنی؟", "خاموش کردن LED", "خوبشم دلم میاد", "", "نه حقیقتا منصرف شدم", LoadBitmap(File.DirAssets, "simile.jpg")) If result = DialogResponse.Positive Then ToastMessageShow("مرسی که هستی گلم",True) Else If result=DialogResponse.NEGATIVE Then ToastMessageShow("I LOVE YOU SO MUCH",True) Else If result=DialogResponse.CANCEL Then ToastMessageShow("",False) End If End Sub
همانطوریکه در کد مشخصشدهاست زمانیکه دست خود را به مدت چندثانیه روی آیکون موردنظر قراردهیم وارد زیرمجموعه تابع میشویم که یک دستور Msgbox میباشد. تقریبا میتوانیم بهجرات بگوییم کسانی که گوشی هوشمند دارند حتما بارها با این تابع برخورد کردهاند اما متوجه آن نشدهاند. به طور مثال اگر یک نرمافزار روی گوشی هوشمند خود نصبکردهباشید حتما بارها مشاهده کردهاید که هنگام خارجشدن از برنامه از شما چند سوال با مضمون زیر میپرسد. آیا مایل به خارجشدن از برنامه هستید؟ بله، خیر و درنهایت بعضیاز آنها هم تصویری را در گوشه متن موردنظر قرار دادهاند. و بسیاریاز کارهای گرافیکی دیگر. چه کاربردی برای افراد الکترونیکی دارد؟ بهطورمثال دستگاهی را طراحی کردهاید که یک کار بسیارحساس را انجام میدهد و کنترل دستگاه ازطریق گوشی است و این نرمافزار را هم شما طراحی کردهاید. زمانیکه که کاربر میخواهد دستگاه را ازطریق گوشی روشن کند و از آن استفادهکند میتوانید در قالب در یک Msgbox پیام هشداری برای کاربر بنویسید و بسیاریاز کارهای دیگر که بسته به نیاز شما متفاوت خواهد بود. حال در این قسمت ما هم دقیقا همین کار را انجام دادهایم البته بهصورت کاملا Fun.
دقتکنید برای اینکه بدانید که هر تابع دارای چه ورودیهایی است و چگونه باید از آن استفادهکرد فقط کافیست که اول دستور موردنظر را در نرمافزار B4A بنویسید. و خود نرمافزار بهصورت کاملا هوشمندانه دستور را برای شما بههمراه مثال میآورد.
آشنایی با تعویض لایهها با یک دیگر در نرمافزار B4
اگر آموزش قبلی را دنبال کرده باشید در نرمافزار قبلی فقط یک لایه گرافیکی بیشتر نداشتم اما سوالی که پیش میآید این است که فقط در نرمافزار فقط یک لایه گرافیکی داریم؟ خیر بلکه هر چند لایهای که شما میخواهید میتوانید درست کنید. که در این آموزش هم در همین بخش میخواهیم زمانیکه روی آیکون سیسوگ زده شد وارد صفحه همکاری با سیسوگ شود(لایهای که ما طراحی کردیم) برای این کار باید مراحل زیر را انجامدهیم. ایجاد یک لایه گرافیکی جدید با اسم Help برای اینکار به آموزش قسمت قبل “آموزش نرمافزار B4A (اندروید) و اتصال نرمافزار به آردوینو” مراجعهکنید. دقتکنید پساز اینکه آموزش قسمت قبل را مشاهدهکردید درهنگام نامگذاری حتما دقتکنید چون در اینجا مدنظرما Help است.
ایجاد یک صفحه کد جدید اصطلاحا یک Activity برای اینکار طبق تصویری که در ادامه قرار میدهیم عمل کنید.
پساز اینکه یک Activity جدید ایجاد کردیم اسم آن را انتخاب میکنیم که انتخاب این اسم از اهمیت بسیارزیادی برخوردار است که در این آموزش اسم Activity را Help درنظر میگیریم.
نیازی نیست که حتما اسم لایه گرافیکی و Activity مثل یکدیگر باشد. ولی حتما هر اسمی را که انتخاب میکنید درجای خود قراردهید تا به مشکل نخورید. خب اگر دقتکنید در قسمت لایه “Help” باید بخش همکاری با سیسوگ را بنویسیم. برای اینکار یک لایه گرافیکی جدید را باز میکنیم و یک Lable انتخاب میکنیم و در نهایت در قسمت Text متن همکاری با سیسوگ را در آن قرار میدهیم.
خب حالا نوبت به استفاده از این Activity است که چطور باید این کار را انجام دهیم. به کدی که در ادامه قرار میدهیم دقت کنید.
Sub ImageView_Sisoog_Click Activity.Finish StartActivity("Help") End Sub
خط اول Activity که در آن هستیم را میبندد و خط دوم وارد Activity جدید میشود. دقتکنید اگر میخواهید بین Activity های مختلف برنامه جابهجایی انجامدهید حتما Activity که در آن هستید را ببیندید چون درصورت بستهنشدن نرمافزار هنگ خواهد کرد. طبق معمول نوبت به دیدن نتیجه کاریاست که انجامدادهایم.
اگر دقتکنید میبینید که بخشی از متن ناخوانا است و درست مشخصنشدهاست که انشالله در قسمتهای بعدی به این موضوع هم خواهیمپرداخت. امیدواریم که این موضوع هم برای شما مفید واقعشدهباشد.
منبع: سیسوگ