اندروید: bound service چیست؟

یک service مولفه ای است که برای انجام عملیات طولانی مدت ، در پس زمینه (background ) ، بدون نیاز به تعامل با کاربر، اجرا می شود .

برای مثال ، یک service می تواند در پس زمینه (background ) موسیقی اجرا کند در حالی که کاربر در اپلیکیشن متفاوتی قرار دارد و یا می تواند بدون قطع کردن تعامل کاربر با یک activity ، داده ها را از شبکه واکشی کنند. یک سرویس اساسا می تواند دو حالت داشته باشد:

  • Started :   یک service زمانی که یکی مولفه از اپلیکیشن ، مانند یک activity ، آن را با ()startService فراخوانی کند در حالت Started قرار می گیرد. زمانی که یک service آغاز شد، می تواند به صورت نامحدود در پس زمینه اجرا شود حتی اگر مولفه ای که آن را شروع کرده، از بین برود. (یک سرویس باید شروع شود تا به انجام کار بپردازد این شروع هم در اکتیویتی یا در فرگمنت اتفاق می افتد.)
  • Bound : یک service در حالت Bound قرار دارد، زمانی که یک مولفه­ ی اپلیکیشن با فراخوانی ()bindService به آن متصل شود. یک bound service ، یک واسط کلاینت-سرور (client-server ) را ارائه می کند و به مولفه ها اجازه می دهد تا :
    با service ارتباط برقرار کنند
    درخواست های خود را به آن ارسال کنند
    نتایج را دریافت کنند
    حتی این کار ها را در بین فرایند هایی که دارای ارتباط بین فرایندی (IPC ) هستند، انجام دهند .
    (زمانی که بخواهید با یک وب سرویس ارتباط برقرار کنید نیاز است تا از Bound استفاده کنید تا سرویس بتواند ارتباط برقرار کند.)
  • Rebound: برای اتصال دوباره بین سرور و اپ باید از Rebound استفاده شود. 
  • onCreate : زمانی که یک سرویس برای اولین بار اجرا می شود. 
  • onDestroy:زمانی که یک سرویس نابود یا به پایان می رسد.

 

یک سرویس (service ) در چرخه حیات خود دارای متد های callback ای است که شما می توانید برای نظارت بر تغییرات وضعیت سرویس (service ) آن ها را اجرا کنید و می توانید این کار را در زمان و مرحله ای مناسب انجام دهید.

(Visited 7 times, 1 visits today)

شما ممکن است علاقه مند باشید

دیدگاه خود را ارسال کنید

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