Professional Documents
Culture Documents
Ya los tenemos...
End Sub
Sub Activity_Resume
If HttpUtils.Complete = True Then JobDone(HttpUtils.Job)
End Sub
Sub UrlDone(Url As String)
Log(Url & " terminado ")
End Sub
Sub JobDone (Job As String)
If HttpUtils.IsSuccess(imageUrl) Then
Dim out As OutputStream
' out = File.OpenOutput(File.DirRootExternal & "/" & "directorio_sd",
"logo2.png", True)
out = File.OpenOutput(File.DirRootExternal & "/", "logo2.png", True)
File.Copy2(HttpUtils.GetInputStream(imageUrl), out)
out.Close
End If
End Sub
Sub Button1_Click
HttpUtils.Download("Job1", imageUrl)
End Sub
Sub Button2_Click
Dim b As Bitmap
b = HttpUtils.GetBitmap(imageUrl)
ImageView1.Bitmap = HttpUtils.GetBitmap(imageUrl)
End Sub
- Comentarios:
- Cuando pulsamos el Button1, la imagen se guarda en una carpeta.
- Cuando pulsamos el Button2, la imagen se muestra en el
ImageView1.
____________
Podramos haber puesto esta lnea...
out = File.OpenOutput(File.DirInternal & "/" , "logo2.png", True)
en este caso el archivo se guardara en la memoria interna, en el caso
del emulador se guardara en...
/data/data/<yourpackagename>/files
<yourpackagename> podra ser
anywheresoftware.b4a.samples.programa
La manera de llegar a ese directorio es yendo a linux y pasando a la
carpeta
cd /data/data/anywheresoftware.b4a.samples.programa/files
ls
Esto lo vimos en el tutorial dedicado a LINUX en el B4A, mediante adb
-e shell
A este archivo solo se puede acceder desde el mismo programa, pero
no desde otro programa.
_______________________________
____
2.- Otra forma de hacerlo con una
nueva versin de HttpUtils2
Consultamos este ejemplo con HTTPutils2.
Bajamos una imagen mediante:
job3.Download("http://www.basic4ppc.com/forum/images/categories/a
ndroid.png")
y luego la presentamos en el Activity (o un ImageView) mediante:
Activity.SetBackgroundImage(Job.GetBitmap)
(Si quisiramos guardar la imagen en un directorio utilizaramos:
File.Copy2 y Job.GetInputStream, como hemos visto anteriormente.)
_______________________________
____
reqimage.InitializeGet(imagepath)
hcimage.Execute(reqimage, 1)
ImageView1.Bitmap = LoadBitmap(File.DirRootExternal, pic)
End Sub
_______________________________
____
4.- Otra manera de hacerlo
Esto tambin est publicado en los tutoriales de B4A, concretamente en esta
pgina.
FinishDownload
End If
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub btnDownload_Click
Activity.Color = Colors.Black
DownloadService.URL =
"http://www.basic4ppc.com/basic4android/images/designer1.png"
DownloadService.Target =
File.OpenOutput(File.DirInternalCache, "image.png", False)
StartService(DownloadService)
btnDownload.Enabled = False
End Sub
Sub FinishDownload
'Load the saved image
If DownloadService.DoneSuccessfully = True Then
image = LoadBitmapSample(File.DirInternalCache,
"image.png", _
100%x, 100%y)
Activity.SetBackgroundImage(image)
End If
btnDownload.Enabled = True
DownloadService.JobStatus = DownloadService.STATUS_NONE
End Sub
_______________________________
____
5.- Bajar varios archivos.
Utiliza la librera HttpUtils2
_______________________________
____
6.- Bajar un archivo de gran tamao.
_______________________________
____
Recordamos varios lugares de directorios.
DirAssets es el directorio del programa C:\Android\<Programa>\Files
es un directorio de solo lectura, por lo tanto no podemos (desde el
programa), cambiar nada en l.
DirRootExternal es un directorio en la tarjeta de memoria SD de
nuestro mvil. Si en la tarjeta de nuestro mvil tenemos un directorio
que se llama Fotos, podemos ir a ese directorio de esta manera...
out = File.OpenOutput(File.DirRootExternal & "/" & "Fotos", "foto2.jpg",
True)
DirInternal es un directorio existente en nuestro Programa y que solo
podemos acceder mediante ese Programa.
Para ver el listardo de archivos en ese directorio, lo debemos hacer
mediante el shell del LINUX, esto lo he comentado anteriormente y se
explica con ms detalle en el tutorial LINUX. Este directorio se
encuentra en una subcarpeta de nuestro Programa, pero no podemos
verlo mediante el Explorador de Windows.
out = File.OpenOutput(File.DirInternal & "/" , "logo2.png", True)
La manera de llegar a ese directorio es yendo a linux y pasando a la
carpeta
cd /data/data/<anywheresoftware.b4a.samples.programa>/files
ls
DirDefaultExternal es el directorio por defecto de la aplicacin en el
mvil. Se puede acceder a l cualquier aplicacin mediante la
ruta [external device]/Android/data/[package name]/files/
DirInternalCache
__________________________________________
_____
Introducir datos en un casillero de un formulario
de una pgina web directamente desde nuestro
cdigo.
Este cdigo tambin lo he visto en los foros y me ha resultado curioso.
Entras en esta pgina: http://www.aangepastlezen.nl/home/boeken
Ves que hay un casillero: "Zoek in de collectie boeken" donde
podemos escribir algo.
Se trata de que cuando entremos en la pgina, desde nuestro cdigo
rellene ese casillero automticamente.
Vamos a... este envo de los foros y bajamos WebViewFormInput.zip
La lnea en la que debemos fijarnos es...
Javascript.Append("document.forms.masterform.ContentPlaceHolderDefault_MainContent_Mai
nContentPage_ctl02_SearchInOlc_7_SearchTerms.value='this is some text';")
<fieldset>
En el cdigo que has bajado hay un 7 y en el de la pgina actualizada
hay un 8, cambia el 7 por el 8.
Para que adems pulse el botn automticamente pondramos
debajo de la lnea de nuestro cdigo:
Javascript.Append("document.forms.masterform.ContentPlaceHolderDefault_MainContent_Mai
nContentPage_ctl02_SearchInOlc_8_SearchButton.click()")
__________________________________________
_____
Orientacin horizontal - vertical de una pgina
web.