رفتن به مطلب

کتابخانه بسیار کاربردی PersianAlarmManager (**ویژه**)


ارسال‌های توصیه شده

به نام خدا

نسخه 2 کتابخونه منتشر شد

تو این نسخه سرویس JobScheduler اندروید به کتابخونه اضافه شده. همچنین متدهای setclock و setwindow نیز به آلارم اضافه شده که بسیار کاربردی هستن. سورس کار با نسخه جدید در پنل موجوده انشالا فرصت بشه آموزش رو هم میزاریم

با سلام خدمت دوستان عزیز انسرسنتری:3d-smileys070:

یه کتابخونه جادویی دیگه از سری محصولات پرشین رو برایتان آورده ایم:gamer:

یکی از معضلات بیسیک نداشتن روش بهینه جهت انجام کارها در پس زمینه برای یک تایم خاص یا متناوب هست. روش اصولی و بهینه برای این کار استفاده از AlarmManager پیش فرض خود اندروید هست که توی جاوا میشه ازش استفاده کرد.اما توی بیسیک به صورت پیشفرض امکان استفادش وجود نداره. برای همین ما کتابخونه رو به صورت کاملا استاندارد به همراه تمامی متدها براتون اماده کردیم. یکی از مزیتهای واقعا عالی تو این کتابخونه اسفاده از سرویس هست. یعنی اینکه شما میتونید هر جایی و هر تایمی یک سرویس اجرا کنید امکان دیگه ای که توی این کتابخونه گنجونده شده دادن مقادیر به این سرویس هست. یعنی یه سری مقادیر رو میتونید موقه اجرا از سرویس بگیرید که قبلا خودتون به صورت کی ولیو بهش دادین. امکان دیگه مدیریت بهینه سازی باتری در نسخه های جدید اندروید هست که این امکان رو میده تا برنامه خودتون رو در لیست برنامه های محافظت شده قرار بدین تا سیستم عامل دیگه بهش گیر نده برای ممصرف باتری.

امیدوارم که از این کتابخونه هم استفاده کافی رو ببرید.

لینک اموزش کار با کتابخانه

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • پاسخ 79
  • ایجاد شده
  • آخرین پاسخ

بیشترین ارسال‌ها در این موضوع

ارسال‌های محبوب

به نام خدا نسخه 2 کتابخونه منتشر شد تو این نسخه سرویس JobScheduler اندروید به کتابخونه اضافه شده. همچنین متدهای setclock و setwindow نیز به آلارم اضافه شده که بسیار کاربردی هستن. سورس کار با

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

سلام الارم منیجر داره منقضی میشه جدیدا در اندروید ها قطع میشه و به جاش JobScheduler    اومده https://github.com/googlesamples/android-JobScheduler http://www.tahlildadeh.com/ArticleDetails/ز

تصاویر ارسال شده

در 10 ساعت قبل، ForI گفته است :

 

 

خیر دوست عزیز. این کتابخونه به صورت کاملا استاندارد هست و هیچ گونه سرویسی در پس زمینه فعال نمیکنه. بلکه از کلاس alarmmanager پیش فرض برای ست کردن آلازم استفاده میکنه. در ضمن شما حتما باید با استفاده از متدهایی که تو کتابخونه هست برنامه رو به لیست برنامه های محافظت شده اضافه کنید تا مانع از بسته شدن توسط سیستم عامل بشه.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 3 هفته بعد...
در در 22 تیر 1398 در 02:28، محمدرضا شاهپیری گفته است :

خیر دوست عزیز. این کتابخونه به صورت کاملا استاندارد هست و هیچ گونه سرویسی در پس زمینه فعال نمیکنه. بلکه از کلاس alarmmanager پیش فرض برای ست کردن آلازم استفاده میکنه. در ضمن شما حتما باید با استفاده از متدهایی که تو کتابخونه هست برنامه رو به لیست برنامه های محافظت شده اضافه کنید تا مانع از بسته شدن توسط سیستم عامل بشه.

سلام وقت بخیر

کتابخونه ManamPerianDateUltimate  پیوست می کنید هر چه قدر گشدم پیدا نکردم

این کتابخونه در کار کرد کتابخونه شما دخیله؟

اون کلاس حذف کردم و استفاده کردم (به خاطر نداشتن  این کتابخونه )

ولی زمان ها اشتباه بودن مثلا موقعی که میزاری 10 س بعد سرویس اجرا کنه 20 س دیگه اجرا می کنه؟

بعد من می خوام یکبار اجرا بشه ولی هی اجرا میشه از متد کنسل باید استفاده کنم بعد از این که سرویس اجرا شد؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 1 ساعت قبل، alimo1999 گفته است :

سلام وقت بخیر

کتابخونه ManamPerianDateUltimate  پیوست می کنید هر چه قدر گشدم پیدا نکردم

این کتابخونه در کار کرد کتابخونه شما دخیله؟

اون کلاس حذف کردم و استفاده کردم (به خاطر نداشتن  این کتابخونه )

ولی زمان ها اشتباه بودن مثلا موقعی که میزاری 10 س بعد سرویس اجرا کنه 20 س دیگه اجرا می کنه؟

بعد من می خوام یکبار اجرا بشه ولی هی اجرا میشه از متد کنسل باید استفاده کنم بعد از این که سرویس اجرا شد؟

کتابخونه پیوست شد.   manam_persian.zip

دوست عزیز تو اموزش کامل توضیح داده شده. در صورتی که بخواین فقط یک بار اجرا بشه از متد setExact باید استفاده کنید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بله آموزشش دیده بودم منتها اشتباه گذاشته بودم

یه سوال دیگه دارم

چه جوری میشه فهمید که آلارم که ست کردیم در حال کارکردنه؟

در در 8 مرداد 1398 در 18:52، محمدرضا شاهپیری گفته است :

کتابخونه پیوست شد.   manam_persian.zip

دوست عزیز تو اموزش کامل توضیح داده شده. در صورتی که بخواین فقط یک بار اجرا بشه از متد setExact باید استفاده کنید.

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در ۱ ساعت قبل، alimo1999 گفته است :

بله آموزشش دیده بودم منتها اشتباه گذاشته بودم

یه سوال دیگه دارم

چه جوری میشه فهمید که آلارم که ست کردیم در حال کارکردنه؟

 

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 11 مرداد 1398 در 16:44، alimo1999 گفته است :

 

اضافه شد. نسخه جدید رو دریافت کنید و از متد isAlarmON برای فهمیدن اینکه آلارم پخش شده یا نه استفاده کنید. دقت داشته باشید حتما بعد از اینکه سرویس اسارت (آلارم پخش شد) شد آلارم رو کنسل کنید دقیقا با همون پارامترهایی که اونو ساختین در غیر این صورت بعد از ست کردن آلارم خروجی isAlarmON همیشه true هست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

ممنون بابت انتشار نسخه جدید

مهندس یه سوال من زمان رو از کاربر با دیالوگ به صورت دقیقه وساعت می گیرم

حالا چی کار کنم که سر ساعت معین این برنامه اجرا بشه

روشی که خودم به ذهنم رسید این بود که زمان ذخیره کنم بعد هی چک کنم کی می رسه ولی این روش بهینه نیست

یا باید از این روش استفاده کنم؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 ساعت قبل، alimo1999 گفته است :

ممنون بابت انتشار نسخه جدید

مهندس یه سوال من زمان رو از کاربر با دیالوگ به صورت دقیقه وساعت می گیرم

حالا چی کار کنم که سر ساعت معین این برنامه اجرا بشه

روشی که خودم به ذهنم رسید این بود که زمان ذخیره کنم بعد هی چک کنم کی می رسه ولی این روش بهینه نیست

یا باید از این روش استفاده کنم؟

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

لینک ارسال
به اشتراک گذاری در سایت های دیگر

یا من منظور شما رو بد متوجه شدم یا شما منظور من رو

دو پارامتری که اخر رویداد که ما تنظیم می کنیم یا ثانیه اس یا دقیقا یا ساعت و پارمتر اخر هم مقدار لانگ

من نمی خوام مثلا دودقیق بعد سرویس اجرا کنم  یا دوساعت بعد من می خوام مثلا ساعت  30: 12 بعد ظهر یک سرویس اجرا شه

و محاسبه این که دوازده نیم بهد ظهر چند دقیقه بعد هست چه جوریه؟ 

 

نمی دونم  منظور رسوندم یا نه

داخل سورسو و ویدیو هم فقط یک ادیت تکس گذاشتید که یک مقدار دریافت میکنه و داخل پرامتر آخر می زاره که چیزی که بنده میگم نیست

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در در 14 مرداد 1398 در 22:32، محمدرضا شاهپیری گفته است :

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

مهندسی من گشتم دنبال چنین چیزی ولی پیدا نکردم نظری نداری؟

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 5 ساعت قبل، alimo1999 گفته است :

مهندسی من گشتم دنبال چنین چیزی ولی پیدا نکردم نظری نداری؟

اول اینکه نسخه جدید رو دریافت کنید.

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

https://www.b4x.com/android/forum/threads/time-difference-between-two-time-stamps.25751/

این میشه تاخیر تون که مثلا با متغیر delay ما نمایش بدیم. بعد از اون هم دوره تناوبتون هست که میشه 24 ساعت که بدیهیه چون مثلا 12 ظهر هر 24 ساعت یه بار اتفاق می افته این رو هم به ثانیه تبدیل کنید. و فرضا تناوب رو هم با period نمایش بدیم.  بقیش هم که دیگه مشخصه تابع زیر رو صدا بزنید

pralarm.setRepeating(prmodel,pralarm.AlarmManager_RTC_WAKEUP,pralarm.FLAG_UPDATE_CURRENT,2,pralarm.TimeUnit_SECONDS,delay,period)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 3 هفته بعد...

سلام بابت کتابخانه خوبتون تشکر میکنم

یک سوال داشتم لطفا جواب بدین که کارم لنگه با نمونه کد جسارتا

 

چطور میتونم با استفاده از لایبری شما کاری کنم که بصورت رندوم هرروز طی 24 ساعت مثلا 6 بار یک عمل تکرار بشه

هرروز 6 دفعه یک عملی تکرار بشه و ساعت های تکرار بصورت رندوم باشه

 

متشکرم

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، Ebi99 گفته است :

یک سوال داشتم لطفا جواب بدین که کارم لنگه

سلام خدمت شما. دوست عزیز  جسارت نباشه این جوری که شما میفرمایید ما باید بشینیم و یکی یکی پروژه های دوستان رو براشون انجام بدیم. کتابخونه هیچ موردی نداره و آموزشهای لازم هم داده شده و این موارد شامل پشتیبانی نمیشه. به هر حال یه راهنمایی کوچیک بهتون میکنم و خودتون خیلی راحت میتونید پیادش کنید.

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

pralarm.setRepeating(prmodel,pralarm.AlarmManager_RTC_WAKEUP,pralarm.FLAG_CANCEL_CURRENT,50,pr.TimeUnit_DAYS,0,1)

حالا وقتی سرویس اجرا شد بیاید و 6 تا عدد رندوم بدون تکرار از 1 تا 24 انتخاب کنید. مثلا a1 و a2 و .... a6 رو انتخاب کردین. حالا باید آلارم رو برای هر 6تای اینا با آیدیای مختلف ست کنید.

pr.setExact(alarmmodel,pr.AlarmManager_RTC_WAKEUP,pr.FLAG_CANCEL_CURRENT,a1,pr.TimeUnit_HOURS,a1)
pr.setExact(alarmmodel,pr.AlarmManager_RTC_WAKEUP,pr.FLAG_CANCEL_CURRENT,a2,pr.TimeUnit_HOURS,a2)
.
.
.
pr.setExact(alarmmodel,pr.AlarmManager_RTC_WAKEUP,pr.FLAG_CANCEL_CURRENT,a6,pr.TimeUnit_HOURS,a6)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 هفته بعد...

سلام الارم منیجر داره منقضی میشه جدیدا در اندروید ها قطع میشه و به جاش JobScheduler    اومده

https://github.com/googlesamples/android-JobScheduler

http://www.tahlildadeh.com/ArticleDetails/زمان-بندی-Taskها-با-AlarmManager-و-JobScheduler

 

https://developer.android.com/reference/android/app/job/JobScheduler

 

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 ماه بعد...

سلام خدمت تمامی دوستان

من از این کتابخانه استفاده کردم و تمام نکات آموزشی رو انجام دادم وقتی که اجرا می کنم این خطا می یاد

java.lang.RuntimeException: Object should first be initialized (PersianAlarmModel).

لطفا راهنماییم کنید ممنون

اینم سورس

    Dim prmodel As PersianAlarmModel
    prmodel.initialize(AlarmService)
    prmodel.putStringExtra("keytime1",dif_time2)
    pralarm.setRepeating(prmodel,pralarm.AlarmManager_RTC_WAKEUP,pralarm.FLAG_UPDATE_CURRENT,1,pralarm.TimeUnit_SECONDS,20,20)

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 4 ساعت قبل، hojat63 گفته است :

سلام خدمت تمامی دوستان

من از این کتابخانه استفاده کردم و تمام نکات آموزشی رو انجام دادم وقتی که اجرا می کنم این خطا می یاد

java.lang.RuntimeException: Object should first be initialized (PersianAlarmModel).

لطفا راهنماییم کنید ممنون

اینم سورس

 

تست کردم کدهاتونو. موردی نداره و اجرا شد. چک کنید که سرویس رو ساخته باشید.

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام آره سرویس رو ساختم به این شکل

 

#Region  Service Attributes
    #StartAtBoot: False
    
#End Region

Sub Process_Globals

End Sub

Sub Service_Create
End Sub

Sub Service_Start (StartingIntent As Intent)
    Service.StopAutomaticForeground
    Dim alarmmdl As PersianAlarmModel
    Dim almid As String=StartingIntent.GetExtra("keytime1")

    alarmmdl.initialize(Null)
    
    Dim n As Notification
    CreateNotificationChannel(n.IMPORTANCE_HIGH)
    n.Initialize2(n.IMPORTANCE_HIGH)
    n.Icon="icon"
    n.Sound=True
    n.SetInfo("یادآوری","تعداد پیامک های امروز " &almid ,Main)
    n.Notify(alarmmdl.GenerateUniqId)
    
End Sub

Sub CreateNotificationChannel(ImportanceLevel As Int)
    Dim p As Phone
    If p.SdkVersion>=26 Then
        Dim ctxt As JavaObject
        ctxt.InitializeContext
        Dim channelId As String = "channel_" & ImportanceLevel
        Dim channel As JavaObject
        channel.InitializeNewInstance("android.app.NotificationChannel",Array(channelId,Application.LabelName,ImportanceLevel))
        
        channel.RunMethod("setShowBad",Array(False))
        
        Dim manager As JavaObject = ctxt.RunMethod("getSystemService",Array("notification"))
        manager.RunMethod("createNotificationChannel",Array(channel))
    End If
End Sub

Sub Service_Destroy

End Sub

ممنون میشم راهنمایی کنید

فقط نمی دونم کی سرویس رو راه اندازی کنم

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

به گفتگو بپیوندید

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

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.

×
  • اضافه کردن...