انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اجرای یک دستور در زمان خاص (مثلا ساعت 13 هر روز) (اندروید)

اجرای یک دستور در زمان خاص (مثلا ساعت 13 هر روز) (اندروید)

#2
سلام.
ابتدا مشخص است که باید دستور را با Service اجرا کنیم :

http://www.kelidestan.com/keys/categorie...ategory=36

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

----------------------------

خوب حالا باید ببینیم که به چه صورت تشخیص بدهیم که چه زمانی، ساعت 13 می شود و چگونه هم کدها را به صورت تکرارشونده، هر روز و در همان ساعت اجرا کنیم. زیرا ما به محض اجرای برنامه اندروید، Service را شروع می کنیم. بنده روشی که به ذهنم می رسد را بیان می کنم (خودم تاکنون آن را کدنویسی نکردم) :

فرض می کنیم که در Activity مورد نظرمان، Service را شروع می کنیم تا از این به بعد، مستقل از برنامه اندروید (حتی در حالت بسته بودن آن عمل کند). کدهای Service باید شامل مراحل زیر باشد :

1- زمان فعلی (همین حالا که سرویس شروع شده) را به دست می آوریم (بر اساس کلید شماره 2981).
2- زمان متناظر با همان ساعت مورد نظرمان (مثلا ساعت 13 بعدی) را به دست می آوریم. در این مورد، کلید قبلی و همچنین دسته بندی زیر می تواند مفید باشد :

http://www.kelidestan.com/keys/categorie...ategory=40

3- میزان فاصله زمان فعلی تا همان ساعت مورد نظرمان (مثلا ساعت 13 بعدی) را بر حسب ثانیه به دست می آوریم. در این مورد، کلید قبلی و همچنین دسته بندی زیر می تواند مفید باشد :

http://www.kelidestan.com/keys/categorie...ategory=40

باید کد را تست کنید که به درستی بتواند میزان زمان باقیمانده را تشخیص بدهد، زیرا دو حالت داریم که از ساعت 13 روز گذشته باشد و یا اینکه هنوز ساعت 13 نشده باشد.

4- یک شمارنده معکوس بر حسب آن تعداد ثانیه تا زمان مورد نظر (ساعت 13) ایجاد می کنیم (بر اساس کلید شماره 2610) که بعد از پایان زمان این شمارنده، باید کد زیر اجرا شود (کد شامل دو مرحله است) :

کد :
مرحله اول : یک بار اجرای ((عملیات مورد نظرمان))
مرحله دوم : یک کد تکرارشونده به صورت هر 24 ساعت یک بار، که ((عملیات مورد نظرمان)) را اجرا می کند (بر اساس کلید شماره 2861). این مرحله را می توانید با یک حلقه while بینهایت اجرا کنید (یعنی یک حلقه while که شرط آن برابر true باشد و بنابراین همیشه در حال اجرا خواهد بود) و درون حلقه while هم، کد تکرارشونده (بر اساس کلید شماره 2861) با زمان معادل 24 ساعت برای تکرار شدن را می نویسید).

bookbook 
لطفا برای درج کد، از دکمه مخصوص درج کد در ادیتور انجمن استفاده کنید.
در مورد برنامه نویسی، مدیران تنها راهنمایی می کنند و نوشتن برنامه نهایی، به عهده کاربران می باشد (اینجا محلی برای یادگیری است، نه سفارش کدنویسی).
کاربران باید ابتدا خود به خطایابی برنامه بپردازند، نه اینکه به محض دیدن خطا، کدها را در انجمن، copy و paste کرده و از مدیران انتظار بررسی داشته باشند.
پاسخ


پیام‌های این موضوع
RE: اجرای یک دستور در زمان خاص (مثلا ساعت 13 هر روز) (اندروید) - توسط admin - ۱۳۹۴/۰۲/۱۸, ۱۰:۳۳ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان