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

android-part-2

در قسمت سیزدهم آموزش اندروید در ادامه مبحث مهم اکتیویتی ها در این بخش دررابطه با اتصال اکتیویتی ها با استفاده از اینتنت ها آموزش داده ایم و با مثالی مشخص نحوه کاربرد آن را مفصل شرح داده ایم.

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

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

اتصال اکتیویتی ها به یکدیگر با استفاده از اینتنت ها

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

مثال زیر به شما نشان میدهد که چگونه یک اکتیویتی دیگر به پروژه اضافه کرده و بین اکتیویتی ها حرکت میکنیم.

ابتدا طبق آموزش های قبل پروژه جدیدی به نام IntentsPrj ایجاد کرده  و یک اکتیویتی جدید با نام SecondActivity از مسیری که در تصویر زیر مشخص شده ایجاد میکنیم.

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

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

حال در این مرحله باید با کلیک راست یک کپی از فایل activity_main.xml (در مسیر res/layout) ایجاد میکنیم و در مسیر برروی res/layout کلیک راست کرده گزینه past را کلیک میکنیم و نام آن را به نام secodactivity.xml تغییر میدهیم حال نتیجه ای مطابق شکل زیر خواهیم داشت

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

حال میخواهیم درون فایل secondactivity.xml که در واقع نمای ظاهری SecondActiviy میباشد یک متن قرار دهیم درون فایل secondactivity.xml کدهای زیر را اضافه میکنیم

حال در این مرحله باید activity_main.xml را تغییر داد چون برنامه بدین صورت است که از اکتیویتی main به اکتیویتی second برویم پس در activity_main.xml یک Button یا دکمه قرار میدهیم که با فشرده شدن به اکتیویتی دوم پرش کند. دستورات ایجاد Button نیز بدین صورت میباشد

حال در فایل SecondActivity.java برای مشخص کردن layout چنین کدنویسی میکنیم

.

حال در مرحله اخر باید  درون فایل MainActivity.java مشخص کنیم که با فشردن Button ایجاد شده به SecondActivity پرش کند پس در این فایل نیز کدهای پررنگ شده زیر را اضافه میکنیم

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

عبارات فوق را میتوان بدین صورت نیز نوشت

startActivity(new Intent(“learn.SecondActivity”));

همانگونه که مشاهده هرگاه دکمه کلیک شود از متد ()startActivity برای نمایش دادن SecondActivity از طریق ایجاد یک شی از  کلاس Intent و ارسال نام فیلتر (SecondActivity (learn.SecondActivity به عنوان آرگومان استفاده میشود.

*توجه داشته باشید که کد startActivity() در دستورات فوق را میتوان به صورت زیر نیز نوشت

اما باید توجه داشت که تنها درصورتی میتوان از این گونه دستور استفاده کرد که اکتیویتی فراخوانی شده(مقصد) در پروژه جاری قرار داشته باشد.

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

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

روش کار

همانگونه که میدانید یک اکتیویتی از یک بخش رابط کاربری (برای مثال main.xml) و بخش کلاس (مثلا MainActivity.java) تشکیل شده بنابراین هرگاه بخواهید یک اکتیویتی دیگر را ایجاد کنید باید ای دو بخش را نیز ایجاد کنید. در فایل manifest برنامه اکتیویتی جدید خود را چنین معرفی کردیم

   

بخش های مختلف اکتیویتی فوق بدین شرح است

  • “android:name=”.SecondActivity :نام اکتیویتی ایجاد شده میباشد.
  • “android:label=”Second Activity : لیبل در نظر گرفته شده برای اکتیویتی میباشد.
  • “action android:name=”learn.SecondActivity : نام اینتنت برای اکتیویتی را مشخص میکند که دلخواه است اما سعی کنید از یک نام منحصر به فرد مثل دامنه خود استفاده کنید ت احتمال تداخل با نام اینتنت دیگر بوجود نیاید.اکتیویتی های دیگر که بخواهند از این اکتیوتی استفاده کنند از این نام استفاده میکنند.
  • “category android:name=”android.intent.category.DEFAULT : گروه دسته بندی این فیلتر اینتنت مشخص میکند هرگاه این را به اینتنتی اضافه کنید اکتیویتی میتوانید با استفاده از متد ()startActivity توسط اکتیویتی دیگر فراخوانی شود.

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

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

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

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

مطالب مرتبط

نظر بدهید

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