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

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


montazeranmahdi

سوال

سلام خدمت سروران گرامی

هنگام استفاده از سرویس  httputlis2services  بجای کتابخانه httputlis2 با ارور مواجه میشم اما وقتی سرویس رو حذف میکنم و کتابخونه رو اد میکنم دیگه ارور نمیده ، نمیخوام از کتابخونه استفاده کنم ، ممنون میشم راهنمایی کنید ، متن ارور :

** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (register) Create, isFirst = true **
** Activity (register) Resume **
*** Service (httputils2service) Create ***
** Service (httputils2service) Start **
Error occurred on line: 44 (HttpUtils2Service)
java.lang.ClassCastException: java.lang.Object cannot be cast to madresehefzquran.newt.downloadservice$_jobtag
    at madresehefzquran.newt.httputils2service._hc_responsesuccess(httputils2service.java:214)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:732)
    at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:348)
    at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:255)
    at java.lang.reflect.Method.invoke(Native Method)
    at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:144)
    at anywheresoftware.b4a.BA$2.run(BA.java:387)
    at android.os.Handler.handleCallback(Handler.java:883)
    at android.os.Handler.dispatchMessage(Handler.java:100)
    at android.os.Looper.loop(Looper.java:237)
    at android.app.ActivityThread.main(ActivityThread.java:7948)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1075)

 

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

محتوای سرویس httputlis2services :

#Region Module Attributes
	#StartAtBoot: False
#End Region

'Modified version of HttpUtils2
'Service module
Sub Process_Globals
	Private hc As OkHttpClient
	Private TaskIdToJob As Map
	Public TempFolder As String
	Private taskCounter As Int
End Sub

Sub Service_Create
	TempFolder = File.DirInternalCache
	hc.Initialize("hc")
	TaskIdToJob.Initialize
End Sub

Sub Service_Start (StartingIntent As Intent)
	
End Sub

Sub Service_Destroy

End Sub

Public Sub SubmitJob(job As HttpJob) As Int
	taskCounter = taskCounter + 1
	TaskIdToJob.Put(taskCounter, job)
	If job.Username <> "" And job.Password <> "" Then
		hc.ExecuteCredentials(job.GetRequest, taskCounter, job.Username, job.Password)
	Else
		hc.Execute(job.GetRequest, taskCounter)
	End If
	Return taskCounter
End Sub

Sub hc_ResponseSuccess (Response As OkHttpResponse, TaskId As Int)
	' ********** Modified code *************
	Dim cs As CountingOutputStream
	cs.Initialize(File.OpenOutput(TempFolder, TaskId, False))
	Dim j As HttpJob = TaskIdToJob.Get(TaskId)
	Dim jt As JobTag = j.Tag
	jt.CountingStream = cs
	jt.Total = Response.ContentLength
	If jt.Data.url = "" Then
		Log("Job cancelled before downloaded started")
		cs.Close
	End If
	Response.GetAsynchronously("response", cs , _
		True, TaskId)
	'**************************************
End Sub

Sub Response_StreamFinish (Success As Boolean, TaskId As Int)
	If Success Then
		CompleteJob(TaskId, Success, "")
	Else
		CompleteJob(TaskId, Success, LastException.Message)
	End If
End Sub

Sub hc_ResponseError (Response As OkHttpResponse, Reason As String, StatusCode As Int, TaskId As Int)
	If Response <> Null Then
		Log(Response.ErrorResponse)
		Response.Release
	End If
	CompleteJob(TaskId, False, Reason)
End Sub

Sub CompleteJob(TaskId As Int, success As Boolean, errorMessage As String)
	Dim job As HttpJob
	job = TaskIdToJob.Get(TaskId)
	TaskIdToJob.Remove(TaskId)
	job.success = success
	job.errorMessage = errorMessage
	job.Complete(TaskId)
End Sub

 

 

دیباگ که میگیرم خط زیر رو ارور میگیره :

    Dim jt As JobTag = j.Tag

خط بالا توی سرویس بالا ، توی ساب Sub hc_ResponseSuccess (Response As OkHttpResponse, TaskId As Int) قرار داره

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

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

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

بایگانی شده

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

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

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