piccolo problema con HttpUtils2
dovrei scaricare da un server 60 immagini e salvarle in locale sullo smartphone per un utilizzo offline all'interno di un APP
se si tratta di fare il download di una sola immagine e salvarla in una mia cartella nota tutto OK, ma quando devo salvarne più di una arrivano i problemi
loop per download:
B4X:
Dim job1 As HttpJob
Dim nomefile_download As String
For i = 1 To 60
job1.Initialize("Job1",Me)
'scarica il file
nomefile_download = "6_" & i & ".jpg"
job1.Download("http://www.xxx-xxx.it/app_android/6/" & nomefile_download)
Next
qui tutto OK si collega e scarica senza errori, nel "JobDone" come faccio per le immagini singole metto:
B4X:
Dim out As OutputStream
out = File.OpenOutput(File.DirInternal,"nomefile_download.jpg",False)
File.Copy2(Job.GetInputStream,out)
out.close
ma come faccio a passare la variabile "nomefile_download" al servizio di download? altrimenti (e ovviamente) mi salverà tutto con lo stesso nome una sopra l'altra.
Potresti dichiarare in Globals una variabile per tenere il conteggio del nome file e modificare il JobDone come segue:
B4X:
Sub Globals
Dim num As Int = 1
End Sub
Sub JobDone (Job As HttpJob)
Log("JobName = " & Job.JobName & ", Success = " & Job.Success)
If Job.Success Then
Dim Out As OutputStream
Out = File.OpenOutput(File.DirInternal, "6_" & num & ".jpg", False)
num = num + 1
Job.GetBitmap.WriteToStream(Out, 100, "JPEG")
Out.Close
Else
Log("Error: " & Job.ErrorMessage)
ToastMessageShow("Error: " & Job.ErrorMessage, True)
End If
Job.Release
End Sub
Non ho testato se funziona ma dovrebbe anche se probabilmente ti mischia le immagini..