استارت و انتقال اطلاعات بین اکتیویتی‌ها با اینتنت در B4A


استارت و انتقال اطلاعات بین اکتیویتی‌ها با اینتنت در B4A
۲۱ دی ۱۴۰۰
1427 بازدید
نویسنده:

💡 حتماً می‌دونید که برای باز کردن یک اکتیویتی جدید در بیسیک۴اندروید میشه براحتی از کد StartActivity(activityname) استفاده کرد، اما فکر کنید میخواین به اکتیویتی دوم یکسری داده، متغیر یا هرچیزی بفرستید.

 

❓ آیا میدونستید یک راه استانداردتر برای انتقال اطلاعات غیر از تعریف متغیر در process_globals وجود داره؟

 

 

✅ استفاده از اینتنت Intent راه حل این مسئله

 

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

 

⚡️ فرض کنیم میخواهیم اکتیویتی ac2 که قبلا ایجادش کردیم رو استارت کنیم و بجای تعریف متغیر در process_globals و استفاده از کد StartActivity از اینتنت استفاده کنیم و داده هارو در اینتنت ذخیره و به اکتیویتی ac2 بفرستیم،

▪️ برای مثال اینجا دو آیتم name و family رو به اکتیویتی ac2 میفرستیم، پس کافیه برای باز کردن اکتیویتی از کد زیر استفاده کنیم:

 

Dim intent As Intent
intent.Initialize(intent.ACTION_MAIN,"")
intent.SetComponent(Application.PackageName&"/.ac2") 'Package and class name
intent.PutExtra("name","pejman")
intent.PutExtra("family","nikravan")
StartActivity(intent)

 

نکته: بجای ac2 اسم اکتیویتی ای که میخوایم بازش کنیم رو قرار میدیم.

 

▪️ و حالا کافیه در رویداد Activity_Resume اکتیویتی بعدی (ac2) با کد های زیر اون name و family رو بگیریم و مثلاً لاگ یا استفاده های دیگه کنیم:

 

Sub Activity_Resume
Try
Dim intent As Intent=Activity.GetStartingIntent 

If intent.HasExtra("name") Then Log("نام: "&intent.GetExtra("name"))
If intent.HasExtra("family") Then Log("نام خانوادگی: "&intent.GetExtra("family"))
Catch
Log(LastException)
End Try
End Sub

 

 

✔️ سورس همین آموزش بالا رو میتونید از جعبه دانلود زیر دریافت کنید.

 


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

دریافت سورس

حجم فایل: 11.9 کیلوبایت

فرمت فایل: ZIP

منبع: کافه توسعه


پژمان نیکروان
پژمان نیکروان

پژمان نیکروان هستم؛ مدیر وب سایت کافه توسعه، شروع فعالیتم به برنامه نویسی از سال 1392 بوده و هدف از ایجاد وبسایت اشتراک گذاری تجارب خودم و دیگر برنامه نویسان هست.

ارسال دیدگاه

می توانید از تگ های HTML نیز استفاده کنید :
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

هیچ دیدگاهی وجود ندارد!