ورود

View Full Version : چگونگی کار کردن سرویس در یک task reminder



arash ghafori
جمعه 25 اردیبهشت 1394, 01:13 صبح
با سلام.
دوستان من دارم یک task reminder مینویسم. حالا رسیدم به اصلی ترین بخشش. ینی چک کردن اینکه آیا تایم انجام اون کار رسیده یا نه.
حالا یه سوال دارم.
به نظرتون بهتره چی کار کنم ؟
بیام یه سرویسی بنویسم که هر "یک دقیقه به یک دقیقه" بیاد کل لیست کارهای طرف رو بخونه و تایمش رو با تایم جاری مقایسه کنه ؟

ممنون میشم نظر بدید.

golbafan
جمعه 25 اردیبهشت 1394, 01:40 صبح
میتونه سرویس باشه...
میتونه هم خود نرم افزار اینکار رو بکنه

اما روش همینه که هر یک دقیقه کوئری بزنی (اما نه روی کل کارهای طرف)

اصولا در یادآوری باید کاربر مشخص کرده باشه که یادآوری کی انجام بشه
مثلا 1 ساعت قبل از رویداد مربوطه

شما باید کوئری رو بر این اساس بزنی

مثال جدول:


has_remainder
boolean


remainder_datetime
datetime


time_before_remainder
datetime


userID
int


other fields




مثال کوئری:

select * from table1 where has_remainder=true
and userID=1
and remainder_datetime+time_before_remainder>now();

#root#
جمعه 25 اردیبهشت 1394, 17:05 عصر
بیام یه سرویسی بنویسم که هر "یک دقیقه به یک دقیقه" بیاد کل لیست کارهای طرف رو بخونه و تایمش رو با تایم جاری مقایسه کنه ؟


استفاده از AlarmManager بهتر از این کاره.

Latifi
پنج شنبه 04 تیر 1394, 05:28 صبح
لطفا بیشتر راهنمایی کنید

tux-world
پنج شنبه 04 تیر 1394, 08:13 صبح
#root# (http://barnamenevis.org/member.php?320639-root) عزیز. فکر نمیکنید آلارم منیجر برای این مورد استفاده درستی نباشه؟ من بشخصه مخالفم چون ممکنه این دوستمون نتونه کنترلش و مدیریتش بکنه و ضمن اینه برای این موارد کاربرد خوبی نداره و همونی که گلبافان عزیز گفتن روش بهتریه ولی خوب بهینه نیست. دارم سرچ میکنم ببینم به چه نتیجه ای میرسم

#root#
پنج شنبه 04 تیر 1394, 11:17 صبح
#root# (http://barnamenevis.org/member.php?320639-root) عزیز. فکر نمیکنید آلارم منیجر برای این مورد استفاده درستی نباشه؟ من بشخصه مخالفم چون ممکنه این دوستمون نتونه کنترلش و مدیریتش بکنه و ضمن اینه برای این موارد کاربرد خوبی نداره و همونی که گلبافان عزیز گفتن روش بهتریه ولی خوب بهینه نیست. دارم سرچ میکنم ببینم به چه نتیجه ای میرسم

بنا به تعریفی که در مستندات از این دو داریم ( + تجربه کم و بیشی که کسب کردم) من هم مخالف نظر شما هستم :)


A Service is an application component that can perform long-running operations in the background and does not provide a user interface


Alarms (based on the AlarmManager class) give you a way to perform time-based operations outside the lifetime of your application. For example, you could use an alarm to initiate a long-running operation, such as starting a service once a day to download a weather forecast.

البته میدونم نگران استفاده ناصحیح از AlarmManager هستید، ولی مگه از همین PushNotification هم استفاده درستی میشه؟ دو روز بعد کاربر برنامه رو پاک میکنه :)