آشنایی با کلاس 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): از پارامتر داده میتوانید انواع مختلفی از داده را ارسال کنید.
نکته: از متد 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=getIntent().getExtras();
String name=bundle.getString(نام مقدار); مقدار رشته ای //
int age=bundle.getInt(نام مقدار); مقدار عددی //
double avg=bundle.getDouble(نام مقدار); مقدار اعشاری //
boolean sex=bundle.getBoolean(نام مقدار); مقدار منطقی //
برای یادگیری این مبحث مثال ها و نکته های متعددی را در فایل ویدئویی آورده ایم که با دانلود این درس و مشاهده ویدئو ها به طور کامل به این مبحث مسلط خواهید شد.
دوست درسمنی عزیز، امیدواریم این آموزش مورد توجه شما قرار گرفته باشد و بتواند شما را در راه رسیدن به اهدافتان کمک کند، سوال های خود را در انجمن برنامه نویسان درسمن بپرسید و انتقادات و پیشنهادات خود را در بخش نظرات برای ما ارسال کنید.
انجمن برنامه نویسان اندروید
نظر شما در تصمیم دیگران اثرگذار است.
لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.