پژمان نیکروان 6,055 ارسال شده در 11 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 11 فروردین، ۱۳۹۵ بنام یگانه برنامه نویس عالم ، خداوند متعال سلام دوستان همونطور که قول داده بودم آموزشی رو تهیه میکنم برای انجام کاری مثل دادن اعلان و هرچیز دیگه ای در زمان مشخص ، ببخشید نشد که تصویریش رو آماده کنم. خب خیلییی دیدم تو تاپیک های مختلف که سوال میشه چطور میتونیم چیزی مثل باد صبا بسازیم یا چطور توی یک زمان مشخصی کاری رو انجام بدیم با سرویس ، آخرهم به نتیجه ی مطلوبی رسیده نشده بود فکر کنم. دوستان راهکار های مختلفی از جمله StartServiceAt یا استفاده از تایمر در سرویس دادن که شاید زیاد استاندارد نبوده. ما بصورت خیلی ساده با استفاده از برادکستی که خود اندروید در اختیار ما گذاشته میتونیم اینکارو انجام بدیم: android.intent.action.TIME_TICK اکشن بالا در برادکست رسیور هریک دقیقه یکبار دریافت میشه ، بطور ساده بگم این اکشن بصورت پیشفرض توسط خود سیستم عامل ، ساعت سیستم هریک دقیقه که جلومیره صدا زده میشه ، بخاطر همین استاندارد هستش و ضرری نمیرسونه از جمله مصرف باتری و... ما با استفاده از PNBroadcastReceiver فقط میایم این اکشن رو گوش میکنیم و در قبالش یک کاری رو انجام میدیم. در این آموزش و سورس از کتابخانه ی PNBroadcastReceiver استفاده شده که دوستانی که ندارنش میتونن از این تاپیک دریافت کنن. خب قبل از همه چیز قطعا یک سرویس میسازیم و اون سرویس رو باراه هایی که تو سایت گفته شده ماندگار میکنیم.(البته نگران نباشید داخل سورسی که پایین گذاشتم اینکارانجام شده) کتابخانه PNBroadcastReceiver رو تیک میزنیم و متغیر زیر: Sub Process_Globals Dim pn As PNBroadcastReceiver End Sub فعال سازی و گوش دادن به اکشن TIME_TICK: Sub Service_Create pn.Initialize("pn") pn.AddAction("android.intent.action.TIME_TICK") pn.RegisterReceiver End Sub و ایجاد رویداد زیر: Sub pn_OnReceive(Action As String,keys() As String,Data As Object) End Sub خب همونطور که گفته شد رویداد بالا هر یک دقیقه یکبار اجرا میشه یعنی درواقع برادکست دریافت میشه. فقط کافیه اونجا ساعت و تاریخ حال رو بگیریم و شرط بذاریم اگر مساوی با فلان بود بیاد مسیج بده: Sub pn_OnReceive(Action As String,keys() As String,Data As Object) Dim time,date As String time=Tabdil(DateTime.Time(DateTime.Now)) date=Tabdil(DateTime.Date(DateTime.Now)) If time="23:20:00" And date="03/30/2016" Then ToastMessageShow("دیرینگ دیرینگ... :D",True) End If End Sub و تابع زیر رو بین sub هاتون ایجاد کنید: Sub Tabdil(matn As String) As String Private res As String=matn res=res.Replace("۰","0") res=res.Replace("۱","1") res=res.Replace("۲","2") res=res.Replace("۳","3") res=res.Replace("۴","4") res=res.Replace("۵","5") res=res.Replace("۶","6") res=res.Replace("۷","7") res=res.Replace("۸","8") res=res.Replace("۹","9") Return res End Sub نکته: به این دلیل اعداد فارسی رو به انگلیسی تبدیل کردیم که بعضی گوشی ها که فارسی هستن ، زمانی که با DateTime میگیریم فارسی برگردونده میشه. به همین راحتی به همین خوشمزگی. و همچنین سورس یک ساعت زنگدار هم با همین روش آماده کردم که بیشتر باهاش آشنا بشید. کارش به این صورته که وارد برنامه میشید ازتون ساعت و تاریخ رو میخواد ، همچنین تاریخ و ساعت فعلی رو هم توی همون ادیت تکست ها نشون میده. بعد از ذخیره کردن ، توی همون زمان یک آهنگ پخش میشه و ناتیفیکیشن میاد که به محض کلیک روی ناتیفیکیشن ، زنگ قطع میشه. چیزایی مثل استارت اکتیویتی موقع زنگ خوردن ، انتخاب آهنگ و هرچیزی که یک ساعت زنگدار داره میمونه به عهده خودتون و این سورس فقط جنبه آموزشی داره! ساعت زنگدار امیدوارم راضی باشید و کارتونو راه بندازه. هر سوالی داشتید راجع به کدها یا جایی واستون مبهم بود بگید تا توضیح بدم ***مهم*** دوستان جایگزین آموزش بالا تاپیک زیر هست، بنابراین بهتره از کتابخانه زیر استفاده کنید، چون آموزش بالا رو میشه گفت تقریبا غیراستاندارد هست لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
مجید آرتا 5,874 ارسال شده در 12 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ خسته نباشی استاد نیکروان عزیز حال کردیم با این حرکتت لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
porya 959 ارسال شده در 12 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ خسته نباشی واقعا عالی بود. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
cloner01001 38 ارسال شده در 12 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ ممنون عالی بود ولی چند تا سوال : سوال اول : هدف من اینه با این سورس تو زمانی که کاربر مشخص میکنه بهش یه نوتیفیکیشن داده بشه یه ادیت تکست دارم واسه عنوان نوتیفی ، یه ادیت تکست واسه توضیحات نوتیفی ، یه انتخاب ساعت و یه انتخاب تاریخ (میخوام ساعت رو مثل قسمت ساعت هشدار گوشی نشون بده و کاربر انتخاب کنه ) حالا چطور چنین چیزیوتو این سورس پیاده کنم؟ سوال دومم : اینه میخوام یه چک باکس داشته باشم که اگه تیک خورد بیاد و "هر روز" تو همون ساعت و روزی که کاربر مشخص کرده بهش اون نوتیفیکیشن(که عنوان و توضیحش روهم کاربر مشخص کرده) رو نشون بده سوال سوم : چطور به کاربر امکان انتخاب چند اعلان رو بدیم؟ مثلا کاربر مراحل بالا رو انجام داد برنامه تو حافظش داشته باشه که تو فلان روز و ساعت اوننوتیفیکشن رو نشون بده ، حالا که کاربر رو باتون نوتیفی جدیدکلیک کرد بتونهیه اعلان جدید دیگه هم بسازه بدون اینکه قبلی بهم بریزه ممنون میشم جواب بدین لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
محمد رشوند 1,208 ارسال شده در 12 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ @@cloner01001, همه این کار هایی که گفتید با سرویس و دیتابیس امکان پذیر هستش فقط خلاقیت باید داشته باشید و اگر چیزی رو بلد نبودید حتماً سرچ کنید امکان نداره به جواب نرسید چون کامل کامل در مورد دیتابیس و سرویس بحث شده اگر جایی از کار گیر کردی سوال کن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 12 فروردین، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ ممنون عالی بود ولی چند تا سوال : سوال اول : هدف من اینه با این سورس تو زمانی که کاربر مشخص میکنه بهش یه نوتیفیکیشن داده بشه یه ادیت تکست دارم واسه عنوان نوتیفی ، یه ادیت تکست واسه توضیحات نوتیفی ، یه انتخاب ساعت و یه انتخاب تاریخ (میخوام ساعت رو مثل قسمت ساعت هشدار گوشی نشون بده و کاربر انتخاب کنه ) حالا چطور چنین چیزیوتو این سورس پیاده کنم؟ سوال دومم : اینه میخوام یه چک باکس داشته باشم که اگه تیک خورد بیاد و "هر روز" تو همون ساعت و روزی که کاربر مشخص کرده بهش اون نوتیفیکیشن(که عنوان و توضیحش روهم کاربر مشخص کرده) رو نشون بده سوال سوم : چطور به کاربر امکان انتخاب چند اعلان رو بدیم؟ مثلا کاربر مراحل بالا رو انجام داد برنامه تو حافظش داشته باشه که تو فلان روز و ساعت اوننوتیفیکشن رو نشون بده ، حالا که کاربر رو باتون نوتیفی جدیدکلیک کرد بتونهیه اعلان جدید دیگه هم بسازه بدون اینکه قبلی بهم بریزه ممنون میشم جواب بدین خواهش میکنم. همونطور که بالا هم گفتم: چیزایی مثل استارت اکتیویتی موقع زنگ خوردن ، انتخاب آهنگ و هرچیزی که یک ساعت زنگدار داره میمونه به عهده خودتون و این سورس فقط جنبه آموزشی داره! این سورس جنبه آموزشی داشت و وقت نکردم که این چیزایی که شما میفرمایید رو روش اعمال کنم. اما بقول آقا محمد با یکم تحقیق و خلاقیت میتونید راحت به نتیجه برسید. مثلا برای انتخاب ساعت مثل ساعت هشدار گوشی از دیالوگ ها استفاده کنید. یا در مورد اینکه یه تیک داشته باشه ، اگه اونو زد هرروز اعلان بده کافیه اصلا تاریخ رو مشخص نکنید و فقط شرط رو برای ساعت بذارید تا هرروز توی همون ساعت اعلان بده. و سوال سوم باز باید خودتون تلاش کنید ، چون چیزایی مثل کلیک روی ناتیفیکیشن ، پنل ، دیتابیس و... قبلا خیلی بحث شده ، با یکم تلاش حتما حل میشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
Hamidbergis 332 ارسال شده در 12 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 12 فروردین، ۱۳۹۵ سپاس پژمان موفق باشی . . . لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
reza71 32 ارسال شده در 13 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 13 فروردین، ۱۳۹۵ اقا این وقتی برنامه بسته میشه عمل نمیکنه که چکار کنم؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mamalliii 214 ارسال شده در 13 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 13 فروردین، ۱۳۹۵ اقا این وقتی برنامه بسته میشه عمل نمیکنه که چکار کنم؟ 1-از سرویس باید استفاده کنی 2-سرویس رو همیشه فعال کن لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
reza71 32 ارسال شده در 13 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 13 فروردین، ۱۳۹۵ 1-از سرویس باید استفاده کنی 2-سرویس رو همیشه فعال کن یعنی از ServiceStartAt استفاده کنیم? خوب اینکه مثل قبل میشه لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 14 فروردین، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 14 فروردین، ۱۳۹۵ یعنی از ServiceStartAt استفاده کنیم? خوب اینکه مثل قبل میشه نه عزیز روش های ماندگار موندن سرویس گفته شده قبلا. توی این نمونه سورس هم همینکار انجام شده. ServiceStartAt رو برای محکم کاری داخل Service_Start میذارن تا هرزگاهی سرویس رو استارت کنه برای اینکه بسته نشه. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mojcom 22 ارسال شده در 29 فروردین، ۱۳۹۵ اشتراک گذاری ارسال شده در 29 فروردین، ۱۳۹۵ نه عزیز روش های ماندگار موندن سرویس گفته شده قبلا. توی این نمونه سورس هم همینکار انجام شده. ServiceStartAt رو برای محکم کاری داخل Service_Start میذارن تا هرزگاهی سرویس رو استارت کنه برای اینکه بسته نشه.آقا لطف کن بگو اگه بخوایم چندتا زمان آقا لطف کن بگو اگه چند تا زمان بخوایم به برنامه بدیم باید چه جوری وارد فایل کرد و اونها رو با سرویس خوند که هر کدوم در زمان خودش نوتیفیکیشن بده؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 31 فروردین، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 31 فروردین، ۱۳۹۵ آقا لطف کن بگو اگه چند تا زمان بخوایم به برنامه بدیم باید چه جوری وارد فایل کرد و اونها رو با سرویس خوند که هر کدوم در زمان خودش نوتیفیکیشن بده؟ این دیگه خلاقیت خودتونه ، مثلا میتونید زمان های مختلف رو ذخیره سازی کنید(همونطور که در سورس یک زمان ذخیره شد) و موقع اتفاق افتادن اون رویداد بیاید و فایل هارو بخونید و دونه دونه شرط بذارید اگه زمان مساوی ...... بود یه کاری انجام بشه. فقط کافیه یکمی تلاش کنید ، چون ذخیره سازی و دستورات شرطی رو دیگه فکر کنم بلد باشید یا قبلا بحث شده... لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
mehrabmmp 528 ارسال شده در 3 اردیبهشت، ۱۳۹۵ اشتراک گذاری ارسال شده در 3 اردیبهشت، ۱۳۹۵ عالی لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
sajad325 76 ارسال شده در 3 اردیبهشت، ۱۳۹۵ اشتراک گذاری ارسال شده در 3 اردیبهشت، ۱۳۹۵ سلام خسته نباشید یعنی در این آموزش ما یاد میگیریم چطوری یاد آوری درست کنیم لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
dr.mohammad 68 ارسال شده در 17 اردیبهشت، ۱۳۹۵ اشتراک گذاری ارسال شده در 17 اردیبهشت، ۱۳۹۵ سلام این برای من کار نمی کنه هر دیقه یکبار خود اندروید پیام میده متاسفانه برنامه متوقف شده است من چه کنم؟ لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 17 اردیبهشت، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 17 اردیبهشت، ۱۳۹۵ سلام این برای من کار نمی کنه هر دیقه یکبار خود اندروید پیام میده متاسفانه برنامه متوقف شده است من چه کنم؟ سلام دقیقا همین سورس رو اجرا کردین اینطوری شد؟؟ وقتی فورس کلوز میشه حتما خطایی هم توی لاگ چاپ میکنه ، گوشیتون متصل کنید به B4A و خطای لاگ رو اینجا قرار بدید. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
dr.mohammad 68 ارسال شده در 17 اردیبهشت، ۱۳۹۵ اشتراک گذاری ارسال شده در 17 اردیبهشت، ۱۳۹۵ راستش من نمیدونم خطای لاگ چیه کدهای مربوط به این هم دریکی از تاپیکام به نام برابر شد زمان قرار دادم برنامه شما کار می کنه ولی برنامه من مینویسه متاسفانه برنامه متوقفشده است لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
پژمان نیکروان 6,055 ارسال شده در 17 اردیبهشت، ۱۳۹۵ سازنده اشتراک گذاری ارسال شده در 17 اردیبهشت، ۱۳۹۵ راستش من نمیدونم خطای لاگ چیه کدهای مربوط به این هم دریکی از تاپیکام به نام برابر شد زمان قرار دادم برنامه شما کار می کنه ولی برنامه من مینویسه متاسفانه برنامه متوقفشده است خب عزیز شما جایی رو اشتباه کردین دیگه. توی همون تاپیک بررسی میکنم و جوابتونو میدم. البته دوستان هم جوابایی داده بودن. لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
AMiN.M7892 1,029 ارسال شده در 8 خرداد، ۱۳۹۵ اشتراک گذاری ارسال شده در 8 خرداد، ۱۳۹۵ آقا دستت درد نکنه داشتم تو فروم میگشتم یهو این آموزش رو دیدم. به سرم زد یه ساعت زنگدار حرفه ای درست کنم. پروژه قبلی رو موقتا گذاشتم کنار تا این اپ رو بنویسم (خخخخخخخخخخخخخخخ ) خیلی ممنون. راستی یه لطفی کن بقیه BroadCast های دیفالت اندروید رو هم بزار تو همین تاپیک تا ببینم ایده دیگه ای به ذهنم میرسه یا نه؟! آقا لطف کن بگو اگه چند تا زمان بخوایم به برنامه بدیم باید چه جوری وارد فایل کرد و اونها رو با سرویس خوند که هر کدوم در زمان خودش نوتیفیکیشن بده؟ شما با دیتابیس و یه حلقه For میتونی اینکارو کنی( در واقع بنده دارم این کارو الان انجام میدم خخخخخخخ) البته با Map هم میشه ولی خب دیتابیس بهتره لینک ارسال به اشتراک گذاری در سایت های دیگر تنظیمات بیشتر اشتراک گذاری ...
ارسالهای توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.