رفتن به مطلب
  • 0

آهنگ زدن برنامه هنگام برابر شدن زمان


dr.mohammad

سوال

سلام دوستان

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

ممنون میشم توضیح بفرمایید

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

15 پاسخ به این سوال تاکنون داده شده است

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

درود

اگر میخواهید در هر حال برنامه زنگ خودش رو بخوره باید از سرویس استفاده کنید

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

جست و جو کنید حتما به نتیجه میرسید

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

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

#Region  Service Attributes 
	#StartAtBoot: False
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	
	
   Dim pn As PNBroadcastReceiver
	Dim n As Notification
	Dim med As MediaPlayer


    Dim SQL As SQL
	
	Dim cur As Cursor
End Sub
Sub Service_Create

	'--------------------------------------------
	'data base
	If File.Exists(File.DirInternal,"barnameriz.db") = False Then
		File.Copy(File.DirAssets,"barnameriz.db",File.DirInternal,"barnameriz.db")
	End If
	If SQL.IsInitialized = False Then
		SQL.Initialize(File.DirInternal,"barnameriz.db",True)
	End If 
	 '-------------------------------------------

   
	pn.Initialize("pn")
	pn.AddAction("android.intent.action.TIME_TICK")
	pn.RegisterReceiver
	
	
End Sub




Sub Service_Start (StartingIntent As Intent)

StartServiceAt("", DateTime.Now + 60000*4,True)

End Sub
Sub pn_OnReceive(Action As String,keys() As String,Data As Object)

     Dim t As tabdiladadBeEn
	t.Initialize

   If Action="android.intent.action.TIME_TICK" Then



   Dim time2 As String=DateTime.time(DateTime.Now)
		time2=time2.SubString2(0,5)
		time2=t.Tabdil(time2)
		
		Dim date2 As String=DateTime.date(DateTime.Now)
		date2=t.Tabdil(date2)


        cur = SQL.ExecQuery("Select * from table_kol")  ' where saat like '%"&time2&"%' AND tarikh like '%"&date2&"%'" ")
	
        For i = 0 To cur.RowCount - 1
		cur.Position = i
		
		Next
If cur.GetString("saat")=time2 AND cur.GetString("tarikh") = date2 Then
		
		
			n.Initialize
			n.Icon="icon"
			n.OnGoingEvent=True
			n.AutoCancel=True
			n.SetInfo("ساعت زنگدار","دیرینگ دیرینگ...",getNoty)
			n.Notify(1)
			
			
			med.Initialize
			med.Load(File.DirAssets,"ring.mp3")
			med.Looping=True
			med.Play
			Else
				'Log(time&"|"&time2&" && "&date&"|"&date2)
		End If
        
   End If
   
   
End Sub

Sub stopmed
	med.Stop
End Sub
Sub Service_Destroy
	StartService("")
End Sub

ممنونم :53:

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

سوالای من چه مشکلی داره کسی جواب نمیده جواب بدین دیگه

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

@@dr.mohammad,

این ساب رو جایگزین کنید

Sub pn_OnReceive(Action As String,keys() As String,Data As Object)
     Dim t As tabdiladadBeEn
	t.Initialize
   If Action="android.intent.action.TIME_TICK" Then	
   Dim time2 As String=DateTime.time(DateTime.Now)
		time2=time2.SubString2(0,5)
		time2=t.Tabdil(time2)
		Dim date2 As String=DateTime.date(DateTime.Now)
		date2=t.Tabdil(date2)
        For i = 0 To cur.RowCount - 1
		cur.Position = i
		If time2=cur.GetString("saat") And date2 = cur.GetString("tarikh") Then
			n.Initialize
			n.Icon="icon"
			n.OnGoingEvent=True
			n.AutoCancel=True
			n.SetInfo("ساعت زنگدار","دیرینگ دیرینگ...",getNoty)
			n.Notify(1)
			med.Initialize
			med.Load(File.DirAssets,"ring.mp3")
			med.Looping=True
			med.Play
			Else
		End If	
		Next
   End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

در 16 دقیقه قبل، mamadreza گفته است :

سلام

آقا کتابخانه tabdiladadBeEn چیه؟؟؟؟؟؟

لطفا راهنمایی کنین.

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

تاپیک جدید بزنید

 

لطفا تاپیک قدیمی رو بالا نیارید

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

سلام استاد نیکروان

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

1- دقیقا اکتیویتی starter وgetnoty کارشون چیه

2- در اکتویتیه myclock  هم از کد هایی استفاده کردین که اولین باریه که من می بینم و نمی دونم چیه اون کد هارو تیکه تیکه میزارم

pn.AddAction("android.intent.action.TIME_TICK")
	pn.RegisterReceiver
Sub Service_Start (StartingIntent As Intent)
	StartServiceAt("", DateTime.Now + 60000*4,True)
	
End Sub
Action="android.intent.action.TIME_TICK"
time2=time2.SubString2(0,5)
Log(time&"|"&time2&" && "&date&"|"&date2)
Sub stopmed
	med.Stop
End Sub
Sub Service_Destroy
	StartService("")
End Sub

3- در اکتویتی main هم به مشکلاتی برخوردم

arr=Regex.Split(":",time)
EditText1.Text=arr(0)
EditText2.Text=arr(1)

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

 

در ضممن من چطوری دیتا بیس رو در اکتیوتی my clock فرا خوانی کنم چون اون data و time شما که ادیت تکست هست برای من در دیتا بیسم هست

 

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

 

از این کد هم استفاده کردم ولی کار نمی کنه

#Region  Service Attributes 
	#StartAtBoot: False
#End Region

Sub Process_Globals
	'These global variables will be declared once when the application starts.
	'These variables can be accessed from all modules.
	
	
   Dim pn As PNBroadcastReceiver
	Dim n As Notification
	Dim med As MediaPlayer


    Dim SQL As SQL
	
	Dim cur As Cursor
End Sub
Sub Service_Create

	'--------------------------------------------
	'data base
	If File.Exists(File.DirInternal,"barnameriz.db") = False Then
		File.Copy(File.DirAssets,"barnameriz.db",File.DirInternal,"barnameriz.db")
	End If
	If SQL.IsInitialized = False Then
		SQL.Initialize(File.DirInternal,"barnameriz.db",True)
	End If 
	 '-------------------------------------------

   
	pn.Initialize("pn")
	pn.AddAction("android.intent.action.TIME_TICK")
	pn.RegisterReceiver
	
	
End Sub




Sub Service_Start (StartingIntent As Intent)

StartServiceAt("", DateTime.Now + 60000*4,True)

End Sub
Sub pn_OnReceive(Action As String,keys() As String,Data As Object)

     Dim t As tabdiladadBeEn
	t.Initialize

   If Action="android.intent.action.TIME_TICK" Then



   Dim time2 As String=DateTime.time(DateTime.Now)
		time2=time2.SubString2(0,5)
		time2=t.Tabdil(time2)
		
		Dim date2 As String=DateTime.date(DateTime.Now)
		date2=t.Tabdil(date2)


        cur = SQL.ExecQuery("Select * from table_kol")  ' where saat like '%"&time2&"%' AND tarikh like '%"&date2&"%'" ")
	
        For i = 0 To cur.RowCount - 1
		cur.Position = i
		
		Next
If cur.GetString("saat")=time2 AND cur.GetString("tarikh") = date2 Then
		
		
			n.Initialize
			n.Icon="icon"
			n.OnGoingEvent=True
			n.AutoCancel=True
			n.SetInfo("ساعت زنگدار","دیرینگ دیرینگ...",getNoty)
			n.Notify(1)
			
			
			med.Initialize
			med.Load(File.DirAssets,"ring.mp3")
			med.Looping=True
			med.Play
			Else
				'Log(time&"|"&time2&" && "&date&"|"&date2)
		End If
        
   End If
   
   
End Sub

Sub stopmed
	med.Stop
End Sub
Sub Service_Destroy
	StartService("")
End Sub

ممنون میشم بگید :heart: :heart: :heart: :heart: :heart: :heart: :53: :53: :53::cheshmak: :cheshmak: :cheshmak: :cheshmak: ♥:pardon: :pardon: :pardon: :pardon:

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

@@dr.mohammad,

بهتون یه وقت بر نخوره ولی پیشنهادم اینه اول یه دور قسمت مبتدیان سایت رو مطالعه کنید یکم اطلاعاتتون بره بالا

کد هاتون به ترتیب

قسمت اول یک اکشن با هر بار تیک خوردن ثانیه زمان خود گوشی تعریف شده و در خط دوم با رجیستر کردن اون اکشن روی حالت دریافت قرار گرفته تا هر لحظه چک کنه

قسمت دوم سرویس اون اکشن رو که به صورت برادکست ساخته شده هر 6 ثانیه چک میشه

قسمت سوم هم که اکشن تعریف شده

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

بقیش هم کد ها زیاده باید منطق برنامه نویسی رو بدونید کار با دیتابیس و مدیا پلیر و سرویس و .....

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

من از این کد استفاده کردم و از اون به بعد هر چند دیقه یه یه بار تو گوشی پیام میده متاسفانه برنامه متوقف شده است منم نمی تونم از برنامه تست بگیرم چجوری این مشکل رو حل کنم

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

استاد نیکروان لطفا چک کنید بیشتر از بیست و چهار ساعت شد

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

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

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

ممنون که وقت گذاشتید وجواب سوالمو دادید

این کد من با کدی که شما دادید چه تفاوتی داره

ممنون میشم پاسخ دهید

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

نه من در حال برنامه نمی خوام می خوام برنامه بسته باشه زنگ بزنه

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

نه من در حال برنامه نمی خوام می خوام برنامه بسته باشه زنگ بزنه

اینم وقتی برنامه بسته هست زنگ میزنه دیگه عزیز.

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

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

بایگانی شده

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

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

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