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

اجرای json در زمانی که برنماه بسته است


ali2016

سوال

سلام

اگر بخوام که برنامه مثلا فلان پیام رو وقتی که کاربر آنلاین هست از سرور بگیره و در قالب json به کاربر نشون بده به صورت توست مسیج

باید چکار کنیم

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

اینم کد های json مورد نظرمه

#Region Module Attributes
    #StartAtBoot: true
	#StartCommandReturnValue: android.app.Service.START_STICKY
	#ExcludeFromLibrary: True
#End Region

'Service module

Sub Process_Globals
Dim PusheUtil As PusheB4AUtil




End Sub
Sub Service_Create
	
End Sub

Sub Service_Start (StartingIntent As Intent)
	Select StartingIntent.Action
		Case "com.google.android.c2dm.intent.RECEIVE" 
			MessageArrived(StartingIntent)
	End Select
End Sub

'Sub MessageArrived (pIntent As Intent) 
'	Dim JsonMsg As String
'	
'	JsonMsg = PusheUtil.getPusheJsonMsg(pIntent)
'	If JsonMsg <> "" Then
'		 'add your code here to deal with JsonMsg 
'	End If
'End Sub


Sub Service_Destroy

End Sub

Sub MessageArrived (pIntent As Intent)
	Dim JsonMsg As String

	JsonMsg = PusheUtil.getPusheJsonMsg(pIntent)
	If JsonMsg <> "" Then
	  'add your code here to deal with JsonMsg
	      Log("Json message received: " & JsonMsg)
	       processJson(JsonMsg)

	End If
End Sub

Sub processJson(jsonStr As String)
	Dim json1 As JSONParser
	Dim data As Map
	Dim s1 As String
	Dim s2 As String

  	json1.Initialize(jsonStr)
  	Try
	  	data = json1.NextObject
		s1 = data.Get("titr")
		s2 = data.Get("matn")
		
		ToastMessageShow(s2, True)
  Catch
	Log(LastException)

  End Try
End Sub

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

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

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

 

با تشکر

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

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

بعد از سرچ کردن در انجمن هم به این تایپیک ها رسیدم که هیچ ربطی به بحث بنده ندارن

https://www.google.com/search?q=site%3Aanswercenter.ir+اجرای+جیسون+در+صورت+بسته+بودن

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

کد پوشه که واضح ومثل اینکه درسته مشکل شما کجاست تو فرستادن یا گرفتن (برنامه باز هست اون توست همراه jsonنمایش میده)؟

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

آره وقتی برنامه بازه نمایش داده میشه پیام ولی من میخوام وقتی بستس نشون بده پیام رو:53:

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

(دراین صورت بازبودن برنامه نشون میده کدها مشکلی نداره)

شما پایدار کردن سرویس سرچ کن یه پست هست اقا پژمان نیکروان گذاشته 4کاره که توضیح دادن هرکدوم رو هر4تا روانجام بدین حله

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

واسه پایدار بودن سرویس :

	#StartAtBoot: true
	#StartCommandReturnValue: android.app.Service.START_STICKY
Sub Service_Start (StartingIntent As Intent)
	StartServiceAt("",DateTime.Now + 0.1*DateTime.TicksPerMinute,False)
End Sub
Sub Service_Destroy
	StartServiceAt("",DateTime.Now + 0.1*DateTime.TicksPerMinute,False)
End Sub

 

همین کدهارو توس سرویس استفاده کنید سرویس پایدار هستش و بسته نمیشه !

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

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

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

در در 1395/09/07, 07:35:02، مهدی ایزدی گفته است :

درود

به جای این قسمت :


'add your code here to deal with JsonMsg 

میتونید بنویسید :


		If JsonMsg.Contains("gcm") Then


		Else If JsonMsg.Contains("log") Then


		End If

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

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

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

در در 1395/09/06, 22:09:32، ali2016 گفته است :

سلام

اگر بخوام که برنامه مثلا فلان پیام رو وقتی که کاربر آنلاین هست از سرور بگیره و در قالب json به کاربر نشون بده به صورت توست مسیج

باید چکار کنیم

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

اینم کد های json مورد نظرمه


#Region Module Attributes
    #StartAtBoot: true
	#StartCommandReturnValue: android.app.Service.START_STICKY
	#ExcludeFromLibrary: True
#End Region

'Service module

Sub Process_Globals
Dim PusheUtil As PusheB4AUtil




End Sub
Sub Service_Create
	
End Sub

Sub Service_Start (StartingIntent As Intent)
	Select StartingIntent.Action
		Case "com.google.android.c2dm.intent.RECEIVE" 
			MessageArrived(StartingIntent)
	End Select
End Sub

'Sub MessageArrived (pIntent As Intent) 
'	Dim JsonMsg As String
'	
'	JsonMsg = PusheUtil.getPusheJsonMsg(pIntent)
'	If JsonMsg <> "" Then
'		 'add your code here to deal with JsonMsg 
'	End If
'End Sub


Sub Service_Destroy

End Sub

Sub MessageArrived (pIntent As Intent)
	Dim JsonMsg As String

	JsonMsg = PusheUtil.getPusheJsonMsg(pIntent)
	If JsonMsg <> "" Then
	  'add your code here to deal with JsonMsg
	      Log("Json message received: " & JsonMsg)
	       processJson(JsonMsg)

	End If
End Sub

Sub processJson(jsonStr As String)
	Dim json1 As JSONParser
	Dim data As Map
	Dim s1 As String
	Dim s2 As String

  	json1.Initialize(jsonStr)
  	Try
	  	data = json1.NextObject
		s1 = data.Get("titr")
		s2 = data.Get("matn")
		
		ToastMessageShow(s2, True)
  Catch
	Log(LastException)

  End Try
End Sub

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

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

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

 

با تشکر

 

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

در 9 دقیقه قبل، ali2016 گفته است :

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

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

خب پایدار بودن معنیش اینه که زمانی که برنامه بسته هست هم سرویس کار کنه دیگه

سورس کدتون رو قرار بدید ببینیم چیکار کردید اصلا :unknown:

همین کدهایی که خودم بهتون دادم 100% کار میکنه... دستی تایپ نکردم که! از روی پروژه هایی که نوشتم قبلا کپی کردم و اینجا گذاشتم

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

پیشنهاد:

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

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

درود

به جای این قسمت :

'add your code here to deal with JsonMsg 

میتونید بنویسید :

		If JsonMsg.Contains("gcm") Then


		Else If JsonMsg.Contains("log") Then


		End If

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

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

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

در 19 دقیقه قبل، مهدی ایزدی گفته است :

خب پایدار بودن معنیش اینه که زمانی که برنامه بسته هست هم سرویس کار کنه دیگه

سورس کدتون رو قرار بدید ببینیم چیکار کردید اصلا :unknown:

همین کدهایی که خودم بهتون دادم 100% کار میکنه... دستی تایپ نکردم که! از روی پروژه هایی که نوشتم قبلا کپی کردم و اینجا گذاشتم

آقای ایزدی براتون فرستادم فایل رو تو خصوصی:53:

 

همچنین راجب json سرچ زیاد کردم ولی جواب سوالمو پیدا نکردم

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

در 12 دقیقه قبل، ali2016 گفته است :

آقای ایزدی براتون فرستادم فایل رو تو خصوصی:53:

 

همچنین راجب json سرچ زیاد کردم ولی جواب سوالمو پیدا نکردم

عزیز دل شما اصلا توی Activity سرویس رو اجرا نکردید

توقع دارید کار کنه؟ :| مثل اینکه ماشین رو روشن نکنید گاز بدید :girl_pardon:

موفق باشید

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

متشکرم مهدی جان

 

من منظورتونو نفهمیدم دقیقا

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

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

سورس json &nbsp;ویرایش نشده

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

خواهش میکنم...

عزیز شما با ارسال داده Json آشنایی دارید؟

این کدی که بهتون دادم رو عینا از روی یکی از برنامه های نسبتا قدیمی خودم برداشتم :unknown:

همینطور که گفتم به جای اون خط بیایید اون چند خط کدی که دادم رو قرار بدید

موقع دریافت Json راحت میتونید نوع پیام رو تشخیص بدید دیگه

 

البته بنده به مدیریت محترم سایت پوشه اطلاع دادم که هرچه سریع تر یه آموزش کاملی در این مورد توی سایتشون اضافه کنند

خودم هم فرصت کنم آموزشش رو تهییه میکنم...

موفق باشید

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

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

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

بازم وقتی برنامه بستس هیچی نمایش داده نمیشه

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

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

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

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

بازم وقتی برنامه بستس هیچی نمایش داده نمیشه

نباید هم فقط با همین کدی که بنده دادم کار کنه :|

شما باید توی شرط یه عملکردی رو قرار بدید و اگه شرط اجرا شد اون عملکرد اجرا بشه !

صبور باشید به زودی آموزش تصویریش رو برای دوستان آماده میکنیم

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

بایگانی شده

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

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

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