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

مشکل در jobdone


majid08

سوال

سلام

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

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

واسه دانلود عکس هم همینطور هست

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

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

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

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

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

سلام

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

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

واسه دانلود عکس هم همینطور هست

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

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

'HttpUtils2 version 2.01
'Class module
Sub Class_Globals
	Public JobName As String
	Public Success As Boolean
	Public Username, Password As String
	Public ErrorMessage As String
	Private target As Object
	Private taskId As String
	Private req As OkHttpRequest
	Public Tag As Object
End Sub

'Initializes the Job.
'Name - The job's name. Note that the name doesn't need to be unique.
'TargetModule - The activity or service that will handle the JobDone event.
Public Sub Initialize (Name As String, TargetModule As Object)
	JobName = Name
	target = TargetModule
End Sub
'Sends a POST request with the given data as the post data.
Public Sub PostString(Link As String, Text As String)
	PostBytes(Link, Text.GetBytes("UTF8"))
End Sub
Public Sub PutString(Link As String, Text As String)
	PutBytes(Link, Text.GetBytes("UTF8"))
	'log(Text.GetBytes("ANSI"))
	'log(Text.GetBytes("ARABIC"))
	'log(Text.GetBytes("UNICODE"))
	'log(Text.GetBytes("UTF-8"))
	'log(Text.GetBytes("UTF-16"))
End Sub
'Sends a POST request with the given string as the post data
Public Sub PostBytes(Link As String, Data() As Byte)
	req.InitializePost2(Link, Data)
	req.Timeout=25000
	'CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)
	CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)
End Sub
Public Sub PutBytes(Link As String, Data() As Byte)
	'req.InitializePost2(Link, Data)
	req.InitializePut2(Link, Data)
	req.Timeout=25000
	'Log("req:" &  Link)
	CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)
End Sub
'Sends a POST request with the given file as the post data.
'This method doesn't work with assets files.
Public Sub PostFile(Link As String, Dir As String, FileName As String)
	Dim length As Int
	If Dir = File.DirAssets Then
		Log("Cannot send files from the assets folder.")
		Return
	End If
	length = File.Size(Dir, FileName)
	Dim In As InputStream
	In = File.OpenInput(Dir, FileName)
	If length < 1000000 Then '1mb
		'There are advantages for sending the file as bytes array. It allows the Http library to resend the data
		'if it failed in the first time.
		Dim out As OutputStream
		out.InitializeToBytesArray(length)
		File.Copy2(In, out)
		PostBytes(Link, out.ToBytesArray)
	Else
		req.InitializePost(Link, In, length)
		CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)	
	End If
End Sub
'Submits a HTTP GET request.
'Consider using Download2 if the parameters should be escaped.
Public Sub Download(Link As String)
	req.InitializeGet(Link)
	CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)
End Sub
'Submits a HTTP GET request.
'Encodes illegal parameter characters.
'<code>Example:
'job.Download2("http://www.example.com", _
'	Array As String("key1", "value1", "key2", "value2"))</code>
Public Sub Download2(Link As String, Parameters() As String)
	Dim sb As StringBuilder
	sb.Initialize
	sb.Append(Link)
	If Parameters.Length > 0 Then sb.Append("?")
	Dim su As StringUtils
	For i = 0 To Parameters.Length - 1 Step 2
		If i > 0 Then sb.Append("&")
		sb.Append(su.EncodeUrl(Parameters(i), "UTF8")).Append("=")
		sb.Append(su.EncodeUrl(Parameters(i + 1), "UTF8"))
	Next
	req.InitializeGet(sb.ToString)
	CallSubDelayed2(HttpUtils2Service, "SubmitJob", Me)		
End Sub

'Called by the service to get the request
Public Sub GetRequest As OkHttpRequest
	Return req
End Sub

'Called by the service when job completes
Public Sub Complete (id As Int)
	taskId = id
	CallSubDelayed2(target, "JobDone", Me)
End Sub

'Should be called to free resources held by this job.
Public Sub Release
	File.Delete(HttpUtils2Service.TempFolder, taskId)
End Sub

'Returns the response as a string encoded with UTF8.
Public Sub GetString As String
	Return GetString2("UTF8")
End Sub

'Returns the response as a string.
Public Sub GetString2(Encoding As String) As String
	Dim tr As TextReader
	tr.Initialize2(File.OpenInput(HttpUtils2Service.TempFolder, taskId), Encoding)
	Dim res As String
	res = tr.ReadAll
	tr.Close
	Return res
End Sub

'Returns the response as a bitmap
Public Sub GetBitmap As Bitmap
	Dim b As Bitmap
	b = LoadBitmap(HttpUtils2Service.TempFolder, taskId)
	Return b
End Sub
'Returns the response as a bitmap loaded with LoadBitmapSample.
Public Sub GetBitmapSample(Width As Int, Height As Int) As Bitmap
	Return LoadBitmapSample(HttpUtils2Service.TempFolder, taskId, Width, Height)
End Sub

Public Sub GetInputStream As InputStream
	Dim In As InputStream
	In = File.OpenInput(HttpUtils2Service.TempFolder, taskId)
	Return In
End Sub
لینک ارسال
به اشتراک گذاری در سایت های دیگر

آره این مشکل وجود داره.

باید دانلود کنسل بشه.

وقتی میخوای وارد اکتیویتی بعدی بشی سرویس httpjob رو کنسل کن:

StopService(HttpUtils2Service)
CancelScheduledService(HttpUtils2Service)
لینک ارسال
به اشتراک گذاری در سایت های دیگر

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

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

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

 

آره این مشکل وجود داره.

باید دانلود کنسل بشه.

وقتی میخوای وارد اکتیویتی بعدی بشی سرویس httpjob رو کنسل کن:

StopService(HttpUtils2Service)
CancelScheduledService(HttpUtils2Service)

با ااینا مشکل عکسا بهتر شد 

ولی همچنان برمیگرده به اکتیویتی قبلی

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

بایگانی شده

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

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

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