سرویس چیست؟

Service یک کامپوننت نرم افزاری است که در پس زمینه اجرا شده و مستقیما با کاربر تعامل ندارد. از آنجایی که سرویس فاقد رابط کاربری است، طبیعتا به چرخه ی حیات یک activity نیز متصل نمی باشد.

سرویس ها اغلب برای انجام عملیات تکراری و طولانی مورد استفاده قرار می گیرند. از جمله ی این عملیات می توان به دانلود از اینترنت، بررسی و جستجو برای داده های جدید، پردازش اطلاعات، بروز آوری content provider ها و موارد مشابه اشاره کرد.

سرویس ها دارای اولویت سطح بالاتری نسبت به activity های غیرفعال/غیر قابل مشاهده در UI هستند و از این رو احتمال اینکه اندروید آن ها را به صورت خودکار خاتمه دهد بسیار پایین است.

اندروید به شما این امکان را می دهد تا سرویس ها را طوری تنظیم کنید که اگر به هر دلیلی مجبور به حذف این سرویس ها از حافظه شد، به مجرد قرار گرفتن منابع کافی در اختیار سیستم، قادر باشد آن ها را مجددا راه اندازی کند.

می توان به سرویس ها اولویت یکسان و برابر با ACTIVITY های حاضر در پیش زمینه (FORGROUND) اختصاص داد. در این سناریو لازم است یک notification قابل مشاهده و فعال در UI برای سرویس های مربوطه لحاظ نمایید. این روش بیشتر برای سرویس هایی بکار می رود که یک فایل ویدیویی یا موسیقی را پخش می کند.

 

سرویس ها و پردازش پس زمینه ای (background processing)

به صورت پیش فرض، سرویس در همان فرایندی اجرا می شود که thread اصلی اپلیکیشن در آن حال اجرا است. به همین جهت توسعه دهنده بایستی از پردازش ناهمزمان در سرویس استفاده نموده و task هایی که هزینه بر و سنگین هستند را در پس زمینه راه اندازی کند. یکی از الگوهایی که مکررا برای پیاده سازی سرویس بکار می رود، اجرای یک Thread جدید در سرویس جهت انجام پردازش در پس زمینه و خاتمه دادن سرویس به هنگام اتمام پردازش می باشد.

سرویس هایی که در بستر فرایند خود اپلیکیشن اجرا می شوند معمولا تحت عنوان service های محلی یا local شناخته می شوند.

 

 

سرویس های خود محیط اندروید (platform) و سرویس های اختصاصی

محیط اندروید سرویس های آماده و از پیش تعریف شده ای را درنظر گرفته و راه اندازی می کند که تمامی اپلیکیشن های اندرویدی، در صورت برخوردار بودن از مجوزهای لازم قادر به استفاده از آن ها استفاده می باشند. سرویس های سیستم را کلاسی به نام Manager در اختیار اپلیکیشن ها قرار می دهد.کافی است برای دسترسی به آن متد getSystemService() را فراخوانی نمایید.

کلاس Context تعدادی ثابت فراهم می کند که شما با استفاده از آن ها می توانید سرویس های نام برده را فراخوانی کنید.

اپلیکیشن اندروید می تواند علاوه بر سرویس های پیش فرض سیستم اندروید، سرویس های اختصاصی تعریف نموده و از آن ها در کنار سرویس های سیستم استفاده نماید.

توسعه دهنده قادر است با پیاده سازی سرویس های اختصاصی خود اپلیکیشن های پاسخگو و تعاملی (responsive) طراحی نماید. شما می توانید داده های اپلیکیشن را به وسیله های سرویس واکشی نموده و زمانی که اپلیکیشن راه اندازی شد، داده های جدید در اختیار کاربر قرار دهید.

 

راه اندازی و تعریف سرویس های اختصاصی

سرویس های اختصاصی اغلب توسط کامپوننت های دیگر راه اندازی می شوند، به عبارت دیگر سایر اجزا نرم افزاری اپلیکیشن های اندرویدی نظیر activity ها، broadcast receiver ها و سرویس های دیگر هستند که سرویس های اختصاصی را راه اندازی می کنند.

 

سرویس های پیش زمینه (foreground)

سرویس پیش زمینه سرویسی است که از نظر اولویت و اهمیت با یک activity فعال و قابل مشاهده در UI یکسان است و به همین جهت حتی اگر سیستم اندروید با کمبود حافظه مواجه باشد باز هم اجازه ی حذف از آن ها حافظه را ندارد. سرویس foreground می بایست در نوار نشان دهنده ی وضعیت کلی سیستم (status bar) یک اطلاعیه یا notification در زیر بخش عنوان Ongoing” مختص به خود داشته باشد. این بدین معنی است که تا زمان حذف سرویس از foreground یا حافظه، notification قابل dismiss و حذف از status bar نخواهد بود.

 

تعریف سرویس های اختصاصی

پیاده سازی و اعلان

فرایند راه اندازی و اجرای سرویس

متوقف کردن یک سرویس

متصل کردن دوطرفه ی سرویس ها (service binding)

وصل شدن از activity ها به سرویس ها

اتصال به سرویس های محلی

اتصال به سرویس با استفاده از IPC

اجرای سرویس ها در فرایندهای مجزا

اجرای یک سرویس در فرایند مختص به خود

تبادل داده و ارتباط با سرویس ها

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

سرویس ,های ,ها ,اندازی ,راه ,یک ,سرویس های ,سرویس ها ,راه اندازی ,های اختصاصی ,آن ها

مشخصات

آخرین ارسال ها

آخرین جستجو ها


خبرنامه سئو ایران و جهان iphone8 تولیدی قابلمه پاراب مطالب اینترنتی علی بابا Mark کتابخانه شهید چمران بهارستان iranbarbari222.rozblog.com تعمير مانيتور davood0002
دزدگ