آشنایی با کلاس Intent در اندروید و انتقال داده ها بین Activityها
صفحه اصلی / دوره‌های آموزشی / آموزش برنامه نویسی اندروید، از مقدماتی تا متوسط / آشنایی با کلاس Intent در اندروید و انتقال داده ها بین Activityها

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

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

آموزش ارسال داده بین اکتیویتی ها با استفاده از 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

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

 

جلسات دوره


                                        
مهدی عباسی
مدرس :

مهدی عباسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مطالعه بیشتر رزومه

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

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

نظرات دانشجویان

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

372