آشنایی با کلاس Intent و انتقال داده ها بین Activityها


آشنایی با کلاس Intent و انتقال داده ها بین Activityها
برای خرید این درس نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

آموزش ارسال داده بین اکتیویتی ها با استفاده از Intent

در این جلسه با مباحث تکمیلی کلاس Intent و انتقال داده ها بین اکتیویتی ها آشنا می شوید. مطالبی که در این جلسه یاد میگیرید عبارت اند از:

  • انتقال بین اکتیویتی ها(Intent)
  • انتقال داده بین اکتیویتی ها
  • دریافت اطلاعات با استفاده از Bundle
  • طراحی فرم صفحه ورود

 

Intent چیست؟

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

 

آموزش انتقال از یک اکتیویتی به اکتیویتی دیگر

Intent intent = new Intent(آدرس اکتیویتی جاری, آدرس اکتیویتی مقصد);
startActivity(intent);

 

برای انتقال بین دو اکتیویتی باید یک آبجکت از کلاس intent ساخت و در قسمت تابع سازنده(Constructor) باید در پارامتر اول، آدرس اکتیویتی جاری و در پارامتر دوم، آدرس اکتیویتی مقصد را وارد کنید. (مانند مثال بالا)

startActivity(intent);

 

در قسمت قبل یک آبجکت از کلاس intent ساختیم اما برای اجرا کردن intent(رفتن به اکتیویتی مقصد) نیاز به تابع StartActivity() داریم ورودی این تابع یک intent است. تا این قسمت یاد گرفتید که چطور بین اکتیوتی ها جابه جا شوید. اما شاید نیاز داشته باشید که موقع جابجایی بین اکتیوتی ها یک سری اطلاعات هم ارسال کنید. پس در ادامه همراه باشید.

 

آموزش انتقال داده از اکتیویتی به اکتیویتی دیگر با کمک intent ها

intent.putExtra(کلید, مقدار);

 

از متد putExtra() میتوانید برای ارسال اطلاعات به همراه intent استفاده کنید. این تابع برای ارسال داده نیاز به دو پارامتر ورودی دارد:

پارامتر اول نام(name): از پارامتر نام برای دریافت اطلاعات در اکتیوتی مقصد استفاده می شود.

پارامتر دوم داده(value): از پارامتر داده میتوانید انواع مختلفی از داده را ارسال کنید.

آموزش انتقال داده از اکتیویتی به اکتیویتی دیگر با کمک intent ها

 

نکته: از متد putExtra() باید قبل از متد startActivity() استفاده کنید.

با استفاده از متد putExtra() میتوانید انواع مختلقی از داده را به همراه intent ارسال کنید.

Intent intent = new Intent(MainActivity.this, SecondActivity.class);
intent.putExtra("int",2);
intent.putExtra("string","darsman");
intent.putExtra("float",19.99);
intent.putExtra("boolean",true);
intent.putExtra("char",'D');
startActivity(intent);

 

آموزش مبحث کلاس Bundle

آموزش دریافت اطلاعات ارسال شده به کمک کلاس Bundle

Bundle bundle=getIntent().getExtras();
String name=bundle.getString(کلید مقدار);  مقدار رشته ای    // 
int age=bundle.getInt(کلید مقدار);         مقدار عددی    //
double avg=bundle.getDouble(کلید مقدار);   مقدار اعشاری    //
boolean sex=bundle.getBoolean(کلید مقدار); مقدار منطقی    //

همه اطلاعات ارسال شده از اکتیویتی مبدا را میتوان با متد  getIntent().getExtras()درون شئ bundle ریخت و سپس با استفاده از متد get() میتوانید داده ها را بر حسب نام(name) از Bundle واکشی کنید. می توانید هر نوع داده ای که با intent ارسال کردید را با bundle دریافت کنید.

 آموزش دریافت اطلاعات ارسال شده به کمک کلاس Bundle

 آموزش دریافت اطلاعات ارسال شده به کمک کلاس Bundle

 

Bundle bundle=getIntent().getExtras();
String name=bundle.getString(نام مقدار);  مقدار رشته ای    // 
int age=bundle.getInt(نام مقدار);         مقدار عددی    //
double avg=bundle.getDouble(نام مقدار);   مقدار اعشاری    //
boolean sex=bundle.getBoolean(نام مقدار); مقدار منطقی    //

 

 

برای یادگیری این مبحث مثال ها و نکته های متعددی را در فایل ویدئویی آورده ایم که با دانلود این درس و مشاهده ویدئو ها به طور کامل به این مبحث مسلط خواهید شد.

 

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

انجمن برنامه نویسان اندروید

 


نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد .
برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.

مشخصات دوره


مدرس دوره : مهدی عباسی
تعداد جلسات 28 جلسه
مدت زمان 1550 دقیقه
حجم دوره 6/42 گیگابایت
سطح مهارت مقدماتی تا متوسط
وضعیت دوره پایان یافته
تعداد دانشجویان 162
: میانگین امتیاز

240,000تومان
برای دسترسی به این دوره وارد یا عضو شوید.
مهدی عباسی
مهدی عباسی

درباره مدرس :

مدیر‌ عامل‌ شرکت آریا‌ نرم‌‌ افزار دارنده مدرک کارشناسی‌ ارشد مهندسی کامپیوتر 12‌ سال سابقه تدریس دروس کامپیوتر را در دانشگاههای دولتی، آزاد، پیام‌نور ملایر، شهیدشمسی‌پور تهران و تدریس برنامه‌نویسی در ... ر انیستیتو ایزایران، مجتمع فنی و موسسه راه‌آینده تهران دارا میباشد و تا به حال راهنمایی انجمنهای علمی دانشگاه و صدها پروژه دانشجویی را برعهده داشته است. تخصص اصلی: با داشتن گواهی‌نامه‌های معتبر تدریس از انیستیتو‌ ایزایران، راه آینده‌تهران و سازمان‌فنی‌حرفه‌ای، تدریس و آموزش‌ دروس کامپیوتر، ‌برنامه‌نویسی کامپیوتر و کلاسهای کنکور کارشناسی و کارشناسی‌ارشد میباشد.همچنین تجربه داوری و نظارت مسابقات برنامه‌نویسی کشوری‌ACM را در سالهای متعدد داشته و تیم مورد رهبری ایشان در 3سال متوالی مقام اول مسابقات کشوری را از آن خود کرده است.ایشان مقالاتی در زمینه شبکه‌های کامپیوتری، تکنیک‌های وزارت دفاع و ... به ثبت رسانده و مشاور و کارشناس در طراحی و برنامه نویسی بیش از 50‌برنامه کاربردی تحت وب و ویندوز و موبایل میباشد. افتخارات دیگر:کسب مقام دوم ایده‌های برتر در مسابقات استارت‌آپ و بکند کشوری را نام برد.بیشتر بدانید