B4A en español - Juan Antonio Villalpando
(BASIC4Android)
-- Tutorial de B4A --
Volver al índice del tutorial
____________________________
56D- Programas básicos IV. Click, LongClick.
Aquí voy a exponer una serie de programa básicos y sencillos de entender, posiblemente esta página podría estar en el comienzo del tutorial, pero ha quedado en un lugar más avanzado.
- Eventos Click y LongClick.
- Cargar un archivo en las líneas de un ListView
- Copiar una imagen en la pantalla mediante WebView
________________________________________________
1.- Eventos Click y LongClick.
Cuando pulsamos rápidamente sobre el botón, el Panel se mueve hacia la derecha.
Cuando pulsamos y mantenemos la pulsación en el botó, el Panel se mueve hacia la izquierda.
Designer |
Mediante el Designer creamos un "Layout" con
un Button1 y un Panel1 |
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' Enero 2014
End Sub
Sub Globals
Dim horizontal As Int
Dim Button1 As Button
Dim Panel1 As Panel
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("Layout")
horizontal = Panel1.Left
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Button1_Click
horizontal = horizontal + 10
Panel1.Left = horizontal
End Sub
Sub Button1_LongClick
horizontal = horizontal - 10
Panel1.Left = horizontal
End Sub
|
________________________________________________
2.- Cargar un archivo en las líneas de un ListView
En este ejemplo tenemos en la carpeta Files un archivo llamado test1.txt con estas líneas
uno
dos
tres
cuatro
Mediante este código lo cargamos en la SdCard mediante
File.Copy(File.DirAssets, "test1.txt", File.DirRootExternal, "test1.txt")
y luego tomamos cada renglón y lo insertamos en un ListView1
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
End Sub
Sub Globals
Dim ListView1 As ListView
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("layout")
If File.Exists(File.DirRootExternal,"test1.txt")= False Then
File.Copy(File.DirAssets, "test1.txt", File.DirRootExternal, "test1.txt")
End If
Leearchivo
End Sub
Sub ListView1_ItemClick (Position As Int, Value As Object)
Activity.Title = Value
End Sub
Sub Leearchivo
Dim archivo As TextReader
archivo.Initialize(File.OpenInput(File.DirRootExternal, "test1.txt"))
ListView1.Clear
Dim linea As String
linea = archivo.ReadLine
Do While linea <> Null
ListView1.AddSingleLine(linea)
linea = archivo.ReadLine
Loop
archivo.Close
End Sub |
________________________________________________
3.- Copia una imagen en la pantalla mediante WebView
- Tenemos una imagen en la carpeta Files del proyecto (File.DirAssets), la copiamos en la SDCard (File.DirRootExternal).
Mediante un WebView vemos la imagen a pantalla completa.
- Desde la carpeta File.DirAssets no carga la imagen, por eso se realiza una copia a File.DirRoorExternal
Bajar la aplicación CargarImagen.zip
Designer |
Un Layout llamado "layout" con un ImageView1,
|
|
Copia y pega este código en un nuevo proyecto |
#Region Project Attributes
#ApplicationLabel: Cargar Imagen
#VersionCode: 1
#VersionName:
'SupportedOrientations possible values: unspecified, landscape or portrait.
#SupportedOrientations: unspecified
#CanInstallToExternalStorage: False
#End Region
#Region Activity Attributes
#FullScreen: False
#IncludeTitle: False
#End Region
Sub Process_Globals
' Juan Antonio Villalpando ' juana1991@yahoo.com ' enero 2014
End Sub
Sub Globals
Dim ImagePath As String
Dim WebView1 As WebView
Dim TempHtml As String
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("layout")
WebView1.Height=Activity.Height
WebView1.Width=Activity.Width
' ImagePath = (File.DirAssets & "/" & "pajaro.jpg")
File.Copy(File.DirAssets, "pajaro.jpg", File.DirRootExternal, "pajaro.jpg")
ImagePath = (File.DirRootExternal & "/" & "pajaro.jpg")
TempHtml="<html><body topmargin='0' leftmargin='0' marginwidth='0' marginheight='0'><center>" _
& "<img src=" & ImagePath & " width='100%' height='100%'/></center>" _
& "</body></html>"
WebView1.LoadHtml(TempHtml)
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
|
________________________________________________
4.- Guardar datos y recuperarlos fácilmente desde archivo. MAP.
Con este código podemos guardar fácilmente datos en un archivo y recuperarlos posteriormente.
Nos puede servir para guardar la puntuación de un juego, para más tarde recuperar esa puntuación.
Creamos un layout y añadimos tres Label, tres EditText y tres botones como indica la imagen.
Copia y pega este código en un nuevo proyecto |
Sub Process_Globals
' Juan Antonio Villalpando
' juana1991@yahoo.com
' mayo 2014
End Sub
Sub Globals
Dim mapa As Map
Dim nombre, edad, poblacion As String
Dim EditText1, EditText2, Edittext3 As EditText
End Sub
Sub Activity_Create(FirstTime As Boolean)
Activity.LoadLayout("layout")
mapa.Initialize
End Sub
Sub Activity_Resume
End Sub
Sub Activity_Pause (UserClosed As Boolean)
End Sub
Sub Button1_Click
nombre = EditText1.Text
edad = EditText2.Text
poblacion = Edittext3.Text
mapa.Put("nombre", nombre)
mapa.Put("edad", edad)
mapa.Put("poblacion", poblacion)
File.WriteMap(File.DirInternal, "guardado.txt", mapa)
End Sub
Sub Button2_Click
mapa = File.ReadMap(File.DirInternal, "guardado.txt")
nombre = mapa.Get("nombre")
edad = mapa.Get("edad")
poblacion = mapa.Get("poblacion")
EditText1.Text = nombre
EditText2.Text = edad
Edittext3.Text = poblacion
End Sub
Sub Button3_Click
EditText1.Text = ""
EditText2.Text = ""
Edittext3.Text = ""
End Sub
|
________________________________
|