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

اجرا کردن شانسی jobdone


mohammade79

سوال

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

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

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

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

در 16 ساعت قبل، qmars گفته است :

شما الان توی پروژه تون توی سرویس استارتر که به طور پیش فرض برای همه پروژه ها وجود داره اینو تعریف کن


Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
 
    Dim http As HttpJob

End Sub 

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


    Starter.http.Initialize("harchi",Me)

بعد حالا مثلا صفحه ی دلخواهتو دانلود کن


Starter.http.Download(URL)

)

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

 

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

در در 1397/06/02, 14:31:39، ForI گفته است :

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

کمک دیگران هم تا زمانی که ندونن شما چکار کردی ممکن نیست

پس بهتره کدهاتون رو بزارید تا چک بشه

ربطی به سرعت اینترنت نداره !

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

	downloader.Initialize("banersdl",Me)
	downloader.Download("http://www.turkitime.in/application/akhbar.php")
کد بالا در اکتیویتوی ران میشه 

Sub JobDone(job1 As HttpJob)
If job1.Success = True Then
	If job1.JobName = "dls" Then
		Dim parser As JSONParser
		parser.Initialize(job1.GetString)
		Dim root As List = parser.NextArray
			
		For Each colroot As Map In root
			Dim imgname As String = colroot.Get("imgname")
			Dim text As String = colroot.Get("text")
			Dim title As String = colroot.Get("title")
				
			list(1).Add(imgname)
			list(2).Add(text)
			list(3).Add(title)
		Next
		For il =0 To list(2).Size-1
			Dim p As Panel
			p.Initialize("p")
			p.Tag = il
			scakhbar.Panel.AddView(p,0,topakhbar,100%x,100%y)
			topakhbar = topakhbar + 31%y
			p.LoadLayout("items")
			Dim dl As ImageDller
			dl.Initialize
			dl.Download(imgakhbar,list(1).Get(il))
			labti.Text= list(3).Get(il)
			labtext.Text = list(2).Get(il)
		Next
		scakhbar.Panel.Height = topakhbar
		
	
	
     Else If job1.JobName = "banersdl" Then
			
	Dim parser2 As JSONParser
	parser2.Initialize(job1.GetString)
	Dim root2 As List = parser2.NextArray
			
	For Each colroot2 As Map In root2
			
		Dim icon2 As String = colroot2.Get("icon")
		Dim icons() As String=Regex.Split(";",icon2)
					
		Dim esm As String = colroot2.Get("esm")
		Dim esms() As String=Regex.Split(";",esm)
		Dim ganer As String = colroot2.Get("ganer")
		Dim ganers() As String=Regex.Split(";",ganer)
		Dim axbg As String = colroot2.Get("axbg")
		Dim axbgs() As String=Regex.Split(";",axbg)
		Dim time As String = colroot2.Get("time")
		Dim times() As String=Regex.Split(";",time)
		Dim rate As String = colroot2.Get("rate")
		Dim rates() As String=Regex.Split(";",rate)
		Dim year As String = colroot2.Get("year")
		Dim years() As String=Regex.Split(";",year)
		Dim zaban As String = colroot2.Get("zaban")
		Dim zabans() As String=Regex.Split(";",zaban)
		Dim locate As String = colroot2.Get("locate")
		Dim locates() As String=Regex.Split(";",locate)
		Dim doble As String = colroot2.Get("doble")
		Dim dobles() As String=Regex.Split(";",doble)
		Dim doble1080 As String = colroot2.Get("doble1080")
		Dim dobles1080() As String=Regex.Split(";",doble1080)
		Dim doble720 As String = colroot2.Get("doble720")
		Dim dobles720() As String=Regex.Split(";",doble720)
		Dim doble480 As String = colroot2.Get("doble480")
		Dim dobles480() As String=Regex.Split(";",doble480)
		Dim doble240 As String = colroot2.Get("doble240")
		Dim dobles240() As String=Regex.Split(";",doble240)
		Dim video1080 As String = colroot2.Get("video1080")
		Dim videos1080() As String=Regex.Split(";",video1080)
		Dim video720 As String = colroot2.Get("video720")
		Dim videos720() As String=Regex.Split(";",video720)
		Dim video480 As String = colroot2.Get("video480")
		Dim videos480() As String=Regex.Split(";",video480)
		Dim video240 As String = colroot2.Get("video240")
		Dim videos240() As String=Regex.Split(";",video240)
		Dim img1 As String = colroot2.Get("img1")
		Dim imgs1() As String=Regex.Split(";",img1)
		Dim img2 As String = colroot2.Get("img2")
		Dim imgs2() As String=Regex.Split(";",img2)
		Dim img3 As String = colroot2.Get("img3")
		Dim imgs3() As String=Regex.Split(";",img3)
		Dim img4 As String = colroot2.Get("img4")
		Dim imgs4() As String=Regex.Split(";",img4)
		Dim img5 As String = colroot2.Get("img5")
		Dim imgs5() As String=Regex.Split(";",img5)
		Dim img6 As String = colroot2.Get("img6")
		Dim imgs6() As String=Regex.Split(";",img6)
		Dim tizer As String = colroot2.Get("tizer")
		Dim tizers() As String=Regex.Split(";",tizer)
		Dim moviemaker As String = colroot2.Get("moviemaker")
		Dim moviemakers() As String=Regex.Split(";",moviemaker)
		Dim story As String = colroot2.Get("story")
		Dim storys() As String=Regex.Split(";",story)
		Dim imgofvideo As String = colroot2.Get("imgofvideo")
		Dim imgofvideos() As String=Regex.Split(";",imgofvideo)
		Dim paid As String = colroot2.Get("paid")
		Dim paids() As String=Regex.Split(";",paid)
		Dim color As String = colroot2.Get("color")
		Dim colors2() As String=Regex.Split(";",color)
				
		For a1=0 To icons.Length-1
			listba(0).Add(icons(a1))
		Next
		For b1=0 To esms.Length-1
			listba(1).Add(esms(b1))
		Next
		For c1=0 To ganers.Length-1
			listba(2).Add(ganers(c1))
		Next
		For d1=0 To axbgs.Length-1
			listba(3).Add(axbgs(d1))
		Next
		For e1=0 To times.Length-1
			listba(4).Add(times(e1))
		Next
		For f1=0 To rates.Length-1
			listba(5).Add(rates(f1))
		Next
		For g1=0 To years.Length-1
			listba(6).Add(years(g1))
		Next
		For h1=0 To zabans.Length-1
			listba(7).Add(zabans(h1))
		Next
		For i1=0 To locates.Length-1
			listba(8).Add(locates(i1))
		Next
		For j1=0 To dobles.Length-1
			listba(9).Add(dobles(j1))
		Next
		For k1=0 To dobles1080.Length-1
			listba(10).Add(dobles1080(k1))
		Next
		For l1=0 To dobles720.Length-1
			listba(11).Add(dobles720(l1))
		Next
		For m1=0 To dobles480.Length-1
			listba(12).Add(dobles720(m1))
		Next
		For n1=0 To dobles240.Length-1
			listba(13).Add(dobles720(n1))
		Next
		For o1=0 To videos1080.Length-1
			listba(14).Add(videos1080(o1))
		Next
		For p1=0 To videos720.Length-1
			listba(15).Add(videos720(p1))
		Next
		For q1=0 To videos480.Length-1
			listba(16).Add(videos480(q1))
		Next
		For R11=0 To videos240.Length-1
			listba(17).Add(videos240(R11))
		Next
		For ima1=0 To imgs1.Length-1
			listba(18).Add(imgs1(ima1))
		Next
		For ima2=0 To imgs2.Length-1
			listba(19).Add(imgs2(ima2))
		Next
		For ima3=0 To imgs3.Length-1
			listba(20).Add(imgs3(ima3))
		Next
		For ima4=0 To imgs4.Length-1
			listba(21).Add(imgs4(ima4))
		Next
		For ima5=0 To imgs5.Length-1
			listba(22).Add(imgs5(ima5))
		Next
		For ima6=0 To imgs6.Length-1
			listba(23).Add(imgs6(ima6))
		Next
		For s1=0 To tizers.Length-1
			listba(24).Add(tizers(s1))
		Next
		For t1=0 To moviemakers.Length-1
			listba(25).Add(moviemakers(t1))
		Next
		For u1=0 To storys.Length-1
			listba(26).Add(storys(u1))
		Next
		For v1=0 To imgofvideos.Length-1
			listba(27).Add(imgofvideos(v1))
		Next
		For w1=0 To paids.Length-1
			listba(28).Add(paids(w1))
		Next
		For x1=0 To colors2.Length-1
			listba(29).Add(colors2(x1))
		Next
				
'			listba(3).Add(axbg)
'			listba(4).Add(esm)
'			listba(5).Add(time)
'			listba(6).Add(rate)
'			listba(7).Add(year)
'			listba(8).Add(locate)
'			listba(9).Add(zaban)
'			listba(10).Add(doble)
'			listba(11).Add(doble1080)
'			listba(12).Add(doble720)
'			listba(13).Add(doble480)
'			listba(14).Add(doble240)
'			listba(15).Add(video1080)
'			listba(16).Add(video720)
'			listba(17).Add(video480)
'			listba(18).Add(video240)
'			listba(19).Add(img1)
'			listba(20).Add(img2)
'			listba(21).Add(img3)
'			listba(22).Add(img4)
'			listba(23).Add(img5)
'			listba(24).Add(img6)
'			listba(25).Add(tizer)
'			listba(26).Add(moviemaker)
'			listba(27).Add(story)
'			listba(28).Add(imgofvideo)
'			listba(29).Add(paid)
'			listba(30).Add(color)
			Next



		Else
			ToastMessageShow("داده درستی از سرور دریافت نشد",False)

	End If
	End If
Log(listba(0))
End Sub

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

Sub adapter1_BindViewHolder(pos As View,position As Int)
	Dim ag As AriaGlide
	Dim img As ImageView
	Dim jo As JavaObject=pos
	img = jo.RunMethod("findViewById",Array(R1.GetViewId("Image")))
	setOnClickListener(img,"banner",position)
	Select position
		Case 0:
			ag.Load(list(0).get(0)).AsBitmap.IntoTarget("bit",img)
		Case 1:
			ag.Load(list(0).get(2)).AsBitmap.IntoTarget("bit",img)
		Case 2:
			ag.Load(list(0).get(3)).AsBitmap.IntoTarget("bit",img)
	End Select
End Sub

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

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

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

ریسایکلیر یه متد داره به اسم notifyDatasetChange اینو بزار بعداز next اخر بزار و تست کن و نتیجه رو اعلام بفرما چون از این متد استفاده نکنی تغییرات رو تمام آیتم ها اعمال نمیشه و قاطی یا همیشه فقط یک آیتم رو روی تمام آیتم های لیست نمایش میده

کد هاتم یخورده بهینه نیست و میشد از کدهای کوتاه و بهینه تر و تروتمیزتری استفاده کرد (یکم خسته کنندس بررسی کردنش خخخ)
نتیجه رو بگو اگر نشد تا موارد دیگه بررسی شه

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

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

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

ریسایکلیر یه متد داره به اسم notifyDatasetChange اینو بزار بعداز next اخر بزار و تست کن و نتیجه رو اعلام بفرما چون از این متد استفاده نکنی تغییرات رو تمام آیتم ها اعمال نمیشه و قاطی یا همیشه فقط یک آیتم رو روی تمام آیتم های لیست نمایش میده

کد هاتم یخورده بهینه نیست و میشد از کدهای کوتاه و بهینه تر و تروتمیزتری استفاده کرد (یکم خسته کنندس بررسی کردنش خخخ)
نتیجه رو بگو اگر نشد تا موارد دیگه بررسی شه

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

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

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

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

 این همه اسپلیت قاطی میکنه واسه این نشون نمیده بعضی مواقع از جیسون استفاده کن تو یه لیست بنداز و از لیست استفاده کن

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

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

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

استفاده از فرمت استانداردجیسون  برای تبادل داده بین سرور و اپلیکیشن
علاوه بر اون توی ساب jobdone بیاید قبل از هر چیزی job.success رو چک کنید اگر برابر با true بود ادامه ی کار در غیر اینصورت ارور شما به اینترنت متصل نیستید

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

در 45 دقیقه قبل، qmars گفته است :

استفاده از فرمت استانداردجیسون  برای تبادل داده بین سرور و اپلیکیشن
علاوه بر اون توی ساب jobdone بیاید قبل از هر چیزی job.success رو چک کنید اگر برابر با true بود ادامه ی کار در غیر اینصورت ارور شما به اینترنت متصل نیستید

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

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

در 2 دقیقه قبل، mohammade79 گفته است :

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

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

Starter.http.Initialize("http",Me)

دوم این که خط پایانی jobdone حتما job.Releas رو اضافه کنید

 

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

در 1 دقیقه قبل، qmars گفته است :

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


Starter.http.Initialize("http",Me)

دوم این که خط پایانی jobdone حتما job.Releas رو اضافه کنید

 

متوجه نشدم میشه منطورتونو تو کد بگید ممنون میشم بشدت گیر کردم توش

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

شما الان توی پروژه تون توی سرویس استارتر که به طور پیش فرض برای همه پروژه ها وجود داره اینو تعریف کن

Sub Process_Globals
    'These global variables will be declared once when the application starts.
    'These variables can be accessed from all modules.
 
    Dim http As HttpJob

End Sub 

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

    Starter.http.Initialize("harchi",Me)

بعد حالا مثلا صفحه ی دلخواهتو دانلود کن

Starter.http.Download(URL)

)

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

بایگانی شده

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

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

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