اموزش intent در اندروید

امتیاز 3.00 ( 2 رای )

در این اموزش میخواهیم به بررسی intent در اندروید بپردازیم.intent ها در برنامه نویسی اندروید بسیار مهم هستند و اشنایی با ان برای هر برنامه نویسی لازم است.
intent ها درخواست ها یا دستوراتی هستند که از سیستم تقاضای انجام یه کاری را میکنند مانند ارسال اس ام اس همانطور که در اموزش ارسال ای اس ام اس با ان کار کردیم.دلیل ان استفاده از یک اکتیویتی دیگر است مانند همان مثال اول برای باز کردن اکتیویتی جدید اینجا هم منظور همان است (باز کردن اکتیویتی جدید برای ارسال اس ام اس).
خب intent ها 2 نوع تقسیم میشوند که شامل موارد زیر هستند:

صریح یا Explicit intent

خب اگر از اسمش متوجه نشدید مشکلی نیست میتوانید اینتنت “مشخص شده”و یا “اشکار” هم بگوییم.خب منظور از مشخص شده یا صریح این است که در این نوع دقیقا مشخص میکنیم که چه اکتیویتی اجرا شود و یا به طور واضح تر شما نمیتوانید از اکتیویتی های دیگر استفاده کنید و فقط از اکتیویتی هایی که در برنامه تان هست استفاده میکنید مانند اینکه 2 اکتیویتی دارید و میخواهید از اولی به دومی بروید به شکل زیر:

در اینجا از اکتیویتی جاری به اکتیویتی 2 می رویم.

ضمنی یا Implicit intent

خب این این intent همانطور که احتمالا حدس میزنید کاملا برعکس نوع قبلی است و شما میتوانید به هر اکتیویتی بروید و از هر سرویسی استفاده کنید.وقتی شما بخواهید از این نوع استفاده کنید برنامه لیست درازی از سرویس هایش را به شما نمایش می دهد که هر کدام برای کاری هستنند برای مثال به کد زیر توجه کنید:

intent
 
جا داره که در اینجا کمی بیشتر راجب نوع دوم حرف بزنیم.تا اینجا متوجه شدیم که در حالت دوم ما به برنامه میگوییم قصد انجام چه کاری را داریم و برنامه بهترین گزینه را برای ما انتخاب میکند.
اما این انتخاب چگونه است؟خب در اینجا برنامه شروع به بررسی گزینه ها میکند و این کار را انجام می دهد و اخر سه حالت پیش می اید:
حالت اول هیچ موردی پیدا نمی شود و برنامه خطا می دهد.
حالت دوم بهترین گزینه پیدا شده و سیستم ان انتخاب میکند.
در حالت اخر گزینه های بیشتر برای اکتیویتیمان پیدا شود و در این حالت یا خودمان انتخاب میکنیم یکی را یا خود سیستم.همه این عملیات های انتخاب و غیره توسط intent-filter انجام می شود به صورت دقیق تر اگر بخواهیم بگوییم intent filter ها که در فایل manifest و یا خود فایل جاوا تعریف می شوند دو وظیفه دارند یکی همانطور که گفتیم انتخاب بهترین گزینه و وظیفه دیگر معرفی قابلیت های اکتیویتی ها سرویس ها و حتی broadcast reciver ها است همانطور که در پست اموزش broadcat reciver میتوانید ببینید.
intent-filter ها وظیفه دارند ویژگی های intent ها را بررسی کنند(این ویژگی ها که شامل category و action و data ) تا بتوانند بهترین انتخاب را داشته باشند و intent که همه این ویژگی هارا داشته باشد و یا به شکل دیگر بگوییم بتواند از ازمون انتخاب با موفقیت بگذرد بهترین گزینه برای برنامه ما است.
در اموزش های بعدی بیشتر به intent ها میپردازیم و  در مثل هایمان هم استفاده میکنیم.
امیدوارم از این اموزش راضی بوده باشید و تا جای ممکن تلاش شد خلاصه و مفید توضیح داده شود
موفق باشید.

مطالعه بیشتر