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

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


sajadakbari

سوال

سلام

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

لطفا با مثال توضیخ بدید

ممنون

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

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

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

درود

ببینید هر Httpjob که شما تعریف میکنید موقع Initalize کردنش یک JobName براش تعریف میکنید

مثلا :

Sub Globals
	Dim HttpJob1 As HttpJob
	Dim HttpJob2 As HttpJob
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("Add")
	HttpJob1.Initialize("add",Me)
	HttpJob2.Initialize("search",Me)
End Sub

درست ؟

خب الان ما واسه HttpJob1 تعریف کردیم اسم Job اش add باشه و برای دومی هم search

خب الان توی JobDone تعریف میکنیم :

 
Sub JobDone(job As HttpJob)
If job.Success = True Then
	If job.JobName = "add" Then
	
	Else If job.JobName = "search" Then

	End If
Else
	ToastMessageShow("JobDone Filed",False)	
End If
End Sub
 

فکر کنم همه چیز مشخص شد

 

موفق باشید

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

اقای ایزدی اگر جاب دان بیشتر از 2 باشه به چه شکلی میشه (قبلا سوال کردم ولی به نتیجه ای نرسیده)

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

اقای ایزدی اگر جاب دان بیشتر از 2 باشه به چه شکلی میشه (قبلا سوال کردم ولی به نتیجه ای نرسیده)

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

فقط میتونید JobName های مختلفی رو برای Job های مختلف تعریف کنید و از تمامی اونها توی یک JobDone استفاده کنید

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

سلام

ممنون از پاسختون

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

Sub Globals
HttpJob2.Initialize("search",Me)
				HttpJob2.Download("http://jeep123.ir/1.txt")
End Sub




Sub JobDone(Job As HttpJob)
If Job.JobName = "search" Then
		File.WriteString(File.DirInternal,"Android2Boot4Working.txt",Job.GetString)
		Msgbox(File.ReadString(File.DirInternal,"Android2Boot4Working.txt"),"in neveshte")
		Else
End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

اقای ایزدی اگر جاب دان بیشتر از 2 باشه به چه شکلی میشه (قبلا سوال کردم ولی به نتیجه ای نرسیده)

شما می تونید کتابخونه ی httpUtils رو که به صورت اوپن سورس هم وجود داره رو دانلود کنید و مناسب با نیازتون تغییر بدید مثلا کاری کنید برای هر job که تعریف می کنید داخل اکتیویتی یک تابع فراخوانی بشه

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

 

سلام

ممنون از پاسختون

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

Sub Globals
HttpJob2.Initialize("search",Me)
				HttpJob2.Download("http://jeep123.ir/1.txt")
End Sub




Sub JobDone(Job As HttpJob)
If Job.JobName = "search" Then
		File.WriteString(File.DirInternal,"Android2Boot4Working.txt",Job.GetString)
		Msgbox(File.ReadString(File.DirInternal,"Android2Boot4Working.txt"),"in neveshte")
		Else
End If
End Sub

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

اما به نظر من کدتون تو اشکال داره  یک این که به نظر من نباید job رو توی تابع Globals اینیشیالایز کنید و دو این که : شاید مشکل از این باشه که شما چک نمی کنید دانلود موفق بوده یا نه ، کدتون باید مثلا شبیه کد زیر باشه

Sub JobDone(Job As HttpJob)
If job.Success = true then
If Job.JobName = "search" Then
		File.WriteString(File.DirInternal,"Android2Boot4Working.txt",Job.GetString)
		Msgbox(File.ReadString(File.DirInternal,"Android2Boot4Working.txt"),"in neveshte")
		Else
End If
Else
log("فایل دانلود نشد")
End If
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

 

سلام

ممنون از پاسختون

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

Sub Globals
HttpJob2.Initialize("search",Me)
				HttpJob2.Download("http://jeep123.ir/1.txt")
End Sub




Sub JobDone(Job As HttpJob)
If Job.JobName = "search" Then
		File.WriteString(File.DirInternal,"Android2Boot4Working.txt",Job.GetString)
		Msgbox(File.ReadString(File.DirInternal,"Android2Boot4Working.txt"),"in neveshte")
		Else
End If
End Sub

دوست من شما اومدین Initialize و Download رو توی Sub Globals تعریف کردید

اصلا جاش اونجا نیست !!!

فقط باید خود متغیر رو توی Sub Globals تعریف کنید 

Initialize و Download باید توی Activity Create تعریف بشن

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

به این صورت پیش برو برادر

Sub Globals
	Dim HttpJob2 As HttpJob
End Sub


Sub Activity_Create(FirstTime As Boolean)
	HttpJob2.Initialize("search",Me)
	HttpJob2.Download("http://jeep123.ir/1.txt")
End Sub

Sub JobDone(Job As HttpJob)
	If Job.Success Then
		Select Job.JobName
			Case "search"
				File.WriteString(File.DirInternal,"Android2Boot4Working.txt",Job.GetString)
				Msgbox(File.ReadString(File.DirInternal,"Android2Boot4Working.txt"),"in neveshte")
		End Select
	End If
End Sub

حالا میتونی با اضافه کردن case هر چندتا job که میخوای رو هندل کنی

در ضمن با شرط Job.Success میتونی بفهمی که عملیات موفقیت آمیز بوده یا خیر

 

موفق باشی

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

بایگانی شده

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

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

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