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

android-part-2

در قسمت چهاردهم آموزش اندروید مبحث در بازگرداندن نتایج از اینتنت را آموزش داده ایم حال در این آموزش مبحث ارسال دیتا با استفاده از شی اینتنت را که یکی دیگر از قابلیت های مهم برنامه نویسی اندروید میباشد را آموزش داده ایم.

آموزش اندروید فصل دوم قسمت هفتم – ارسال به اینتنت 

توجه : برای مشاهده تصاویر در سایز اصلی بر روی آنها کلیک کنید.

ارسال دیتا با استفاده از شی Intent

علاوه بر امکان دریافت دیتا که در آموزش قبل توضیح دادیم میتوان به یک اکتیویتی دیتا نیز ارسال کرد. برای مثال میتوان در مثال قبل یک متن پیش فرض در EditText قرار داد و میتوان برای انجام این کار از شی Intent جهت ارسال دیتا به اکتیویتی استفاده کرد.

در مثال زیر روش تبادل اطلاعات بین اکتیویتی ها را مشاهده کرد. پروژه جدیدی به نام PassingData ایجاد کرده و طبق کدنویسی زیر در فایل activity_main.xml یک Button یا دکمه ایجاد میکنیم

حال در فولدر res/layout یک فایل جدید به نام secondactivity.xml ایجاد کرده و طبق کدنویسی زیر یک عبارت و یک دکمه تعیین میکنیم      

حال یک کلاس جدید به نام SecondActivity ایجاد کرده و محتویاتش را چنین کدنویسی میکنیم

.

قسمت های زیر را نیز به فایل MainActivity.java اضافه کنید

حال باید در manifest پروژه نیز اکتیویتی ایجاد شده را معرفی کنیم پس درون فایل AndroidManifest.xml کدهای پررنگ شده زیر را اضافه میکنیم

حال میتوان برنامه را اجرا و نتیجه را مطابق شکل زیر مشاهده کرد

آموزش کاربردی اندروید-قسمت پانزدهم

روش کار

این برنامه مهمترین روش تبادل اطلاعات را نمایش میدهد.ابتدا میتوان از متد ()putExtra شی Intent برای افزودن مقادیر به صورت دیگشنری استفاده نمود

کد بالا دوجفت نام/مقدار را به شی Intent اضافه میکند که یکی از آنها string و دیگری integer است  در واقع شکل کلی این متد بدین صورت است putExtra(string (name, value که برای value نوع ای مختلفی میتوان استفاده کرد.

علاوه بر استفاده از متد ()putExtra همچنین میتوان یک شی Bundle ایجاد کرده و سپس آن را با استفاده از متد ()putExtra پیوست داد. تصور کنید که شی Bundle یک شی دیگشنری است. این شی حاوی چندین جفت نام/مقدار است. قطعه کد زیر یک شی Bundle ایجاد کرده و دو جفت نام/مقدار به آن اضافه کرده و با استفاده از دستور اخر به شی  Intent پیوست داده شده.

.

در اکتیویتی دوم برای دریافت اطلاعات ارسال شده با استفاده از شی Intent ابتدا میبایستی شی Intent را با استفاده از متد ()getIntent دریافت کنیم سپس متد ()getIntExtra را جهت دربافت مقادیر Integer که توسط متد ()putExtra افزوده شده بودند فراخوانی کنیم(آرگومان دوم مقدار پیش فرض برای مواقعی است که به ازای نام مقداری وجود ندارد)

برای مقادیر رشته ای نیز از متد ()getStringExtra استفاده میکنیم.

برای دریافت شی Bundle از متد ()getExtra استفاده میکنیم

و برای استخراج نام/مقدار ها به صورت تکی از تابع مناسب آن استفاده میکنیم مثلا ()getString و ()getInt

راه دیگر برای ارسال دیتا به اکتویتی دیگر استفاده از متد ()setData است

          

معمولا از متد ()setData مواقعی استفاده میکنیم که بخواهیم Intent عملیاتی را انجام دهد(برای مثال ارسال یک URL به مرورگر خود اندروید جهت نمایش صفحه وب که در ادامه آموزشات ببه این موضوع میپردازیم)برای دریافت دیتایی که با استفاده از متد ()setData فرستاده شده از متد ()getData استفاده میکنیم

   

مدرس : خانم مهندس داودی نژاد

آموزش اندروید فصل دوم قسمت ششم

آموزش اندروید فصل دوم قسمت هشتم

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

مطالب مرتبط

نظر بدهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *