Escolar Documentos
Profissional Documentos
Cultura Documentos
Basic Android 4 Guia para Principiantes PDF
Basic Android 4 Guia para Principiantes PDF
1 Getting started.........................................................................................................................7
1.1 Instalacin de Basic4Android y Android SDK....................................................................7
1.1.1 Instalar y configurar Basic4Android........................................................................9
1.2 Instalar emulador Android.......................................................................................... 10
2 Mi primer programa (MyFirstProgram.b4a)............................................................................... 15
3 Segundo programa (SecondProgram.b4a)................................................................................. 33
4 The IDE ................................................................................................................................ 47
4.1 Menu and Toolbar.......................................................................................................... 48
4.1.1 Toolbar .................................................................................................................. 48
4.1.2 File menu ............................................................................................................... 49
4.1.3 Edit menu............................................................................................................... 49
4.1.4 Project menu .......................................................................................................... 50
4.1.5 Tools menu ............................................................................................................ 51
4.2 Code area....................................................................................................................... 53
4.2.1 Deshacer rehacer ............................................................................................. 53
4.2.2 Collapse a subroutine ............................................................................................. 53
4.2.3 Collapse a Region ..................................................................................................54
4.2.4 Collapse the whole code......................................................................................... 55
4.2.5 Cdigo comentario y uncommenting ...................................................... 56
4.2.6 Marcadores .................................................................................. 56
4.2.7 Sangra ............................................................................................... 57
4.2.8 Autocompletar .................................................................................................59
4.2.9 Jump to a subroutine .............................................................................................. 61
4.2.10 Destacando las ocurrencias de palabras................................................... 62
4.2.11 Debugging ............................................................................................................. 63
4.2.12 Breakpoints............................................................................................................ 65
4.3 Tabs............................................................................................................................... 68
4.3.1 Listas de mdulo y subrutina ............................................................... 68
4.3.2 Archivos ....................................................................................................... 69
4.3.3 Registros ...................................................................................................... 70
4.3.4 Libs ........................................................................................................ 71
5 Screen sizes and resolutions................................................................................................... 72
5.1 Funciones especiales como 50% x, 50dip................................................ 77
5.1.1 PerXToCurrent, PerYToCurrent - 50% x...................77
5.1.2 DipToCurrent - 50dip............................................................................................. 77
5.2 Trabajar con diferentes tamaos de pantalla \/ nmero de diseos.................................... 78
5.3 Screen orientations......................................................................................................... 84
6 The Emulator......................................................................................................................... 85
6.1 Launch an Emulator....................................................................................................... 85
6.2 Create a new Emulator................................................................................................... 87
6.3 Emulator problems......................................................................................................... 89
6.3.1 Process timeout...................................................................................................... 90
6.4 Intercambio de archivos con el PC......................................................................................... 91
7 B4A Bridge ........................................................................................................................... 94
8 The Designer ......................................................................................................................... 97
8.1 The menu....................................................................................................................... 98
8.1.1 File menu ............................................................................................................... 98
8.1.2 AddView menu ...................................................................................................... 98
8.1.3 The Tools menu ..................................................................................................... 99
Tabla de contenido 3 Basic4Android Gua del principiante
Colaboradores principales:
Todo el cdigo fuente y archivos necesarios (diseos, imgenes, etc.) de los proyectos de ejemplo en esta gua son
incluido en la carpeta de cdigo fuente.
1 Procedimientos iniciales 7 Basic4Android Gua del principiante
1 Introduccin
Basic4android es un entorno de desarrollo sencillo y potente orientado a dispositivos Android.
Basic4android lenguaje es similar al lenguaje de Visual Basic con soporte adicional para los objetos.
Basic4android compilado de aplicaciones son aplicaciones nativas para Android, no hay runtimes adicionales o
dependencias.
A diferencia de otros Basic4android IDEs es 100% focalizada en desarrollo Android.
Basic4android incluye un potente diseador de GUI con soporte integrado para mltiples pantallas y
orientaciones. No escribir XML es requerido.
Usted puede desarrollar y depurar con el emulador de Android o con un dispositivo real
(USB conectado o a travs de la red local).
Basic4android tiene un rico conjunto de libreras que facilitan el desarrollo de aplicaciones avanzadas.
Esto incluye: SQL bases de datos, GPS, puertos serie (Bluetooth), cmara, anlisis, servicios Web XML
(HTTP), servicios (tareas en segundo plano), JSON, animaciones, red (TCP y UDP), texto a voz
(TTS), reconocimiento de voz, vista Web, AdMob (ads), grficos, OpenGL, grficos y ms.
Android 1.6 y por encima son compatibles (incluyendo tabletas como Motorola Xoom).
Instrucciones de instalacin:
Debe ser el primer paso instalar el JDK de Java como Android SDK, as lo requiere.
Tenga en cuenta que no hay ningn problema con tener varias versiones de Java instalado en el mismo equipo.
-Instalar el SDK. El SDK de siempre no comportarse correctamente cuando se instala en un trazado con
espacios (como archivos de programa). Se recomienda instalarlo en una carpeta personalizada similar a
C:\\Android.
-Ahora debe instalar las herramientas de la plataforma y la imagen de al menos una plataforma. Puede utilizar API 8 o
anteriormente. Se recomienda utilizar API 10.
Tambin puede instalar el controlador USB de Google si necesita conectarse a un dispositivo real con USB.
1 Procedimientos iniciales 8 Basic4Android Gua del principiante
-Basic4android abierto.
Errores comunes
- Windows XP-\"aplicacin de Basic4Android.exe no poda ser inicializado correctamente error
0xc0000135 \"al inicio. Basic4android requiere .net Framework 2.0 o superior. Usuarios de Windows XP
quien no instalarlo antes debe instalar primero el marco.
1.2 Instalacin de emulador Android 10 Basic4Android Gua del principiante
En este captulo, vamos a crear un nuevo AVD (Android Virtual Device) que es una instancia de emulador.
A continuacin, vamos a crear un sencillo programa que muestra un cuadro de mensaje de texto y escribe un mensaje a
el registro.
Tambin puede conectar un dispositivo real para el IDE:
Conectar el dispositivo con ADB
Conectar el dispositivo con B4A-puente
-Ejecutar Basic4android.
-El SDK Manager pueden aparecer dependiendo de la versin y la configuracin. Debe elegir
Herramientas - administrar AVDs.
1.2 Instalacin de emulador Android 11 Basic4Android Gua del principiante
-Haga clic en y llene los campos relacionados de la siguiente imagen (se recomienda elegir
HVGA):
-Haga clic en .
Espere... por primera vez puede tardar varios minutos hasta que est listo el emulador.
1.2 Instalacin de emulador Android 14 Basic4Android Gua del principiante
En la pantalla, tendremos:
-2 Etiquetas mostrando aleatoriamente generan nmeros
-1 Etiqueta con el signo de matemticas
-1 Vista EditText donde el usuario debe introducir el resultado
-1 Botn, se utiliza para confirmar cuando el usuario ha terminado de introducir el resultado o generar un nuevo
clculo.
-1 Etiqueta con un comentario sobre el resultado.
Ejecute el IDE
Guarde el proyecto.
Ejecutar el emulador.
Seleccione el emulador.
2. Mi primer programa 17 Basic4Android Gua del principiante
Haga clic en
Espere hasta que est listo el emulador, esto tomar bastante tiempo.
Ejecutar el diseador.
Ahora tenemos:
Necesitamos una segunda etiqueta similar a la primera. En lugar de agregar uno nuevo, copiamos el primero de ellos
con los mismos parmetros. Slo los parmetros de nombre, de izquierda y de arriba va a cambiar.
2. Mi primer programa 22 Basic4Android Gua del principiante
Ahora agreguemos una tercera etiqueta para el signo de matemticas. Copiamos nuevamente lblNumber1.
Haga clic en lblNumber1 en el emulador y en el click del diseador en el men 'Herramientas' en ' duplicar
Vista seleccionada '.
Colocarla entre las dos etiquetas primeras y cambiar su nombre a lblMathSign y su parmetro de texto
a '+'.
2. Mi primer programa 23 Basic4Android Gua del principiante
Colquelo debajo de los tres rtulos y cambiar su nombre a edtResult. 'EDP' EditText y el 'Resultado'
para su propsito.
Colquelo debajo de la vista EditText; cambiar el tamao y cambiar siguiendo los parmetros:
Nombre: a 'btnAction'
Aadir la ltima etiqueta por los comentarios, colquelo debajo del botn y cambiar su tamao.
Alineacin horizontal:
CENTER_HORIZONTAL
Color del texto a negro
Color a blanco
Alpha a 255
Haga clic en .
Para escribir las rutinas para el proyecto que tenemos que hacer referencia a las opiniones expresadas en el cdigo.
Esto puede hacerse con la herramienta de generar miembros en el diseador.
2. Mi primer programa 27 Basic4Android Gua del principiante
La herramienta de generar miembros permite para generar automticamente referencias y marcos de subrutina.
Al hacer clic en el evento en de una vista genera el marco Sub para este evento.
En primer lugar, tenemos que cargar nuestro archivo de diseo a la actividad en el Sub Activity_Create.
-Entrar en 'Actividad'
-Introduzca un punto
-La funcin de Autocompletar muestra automticamente todos los parmetros posibles de la vista.
-Entrar en 'L', la muestra de la funcin de Autocompletar los parmetros empezando con 'L'
-Pulse la tecla de flecha abajo, aparecer LoadLayout con la ayuda en lnea para el parmetro determinado o
mtodo.
2. Mi primer programa 29 Basic4Android Gua del principiante
-Entrar ' (', la ayuda en lnea se mostrar los parmetros necesarios para el mtodo.
Queremos generar un nuevo problema directamente al iniciar el programa. Por lo tanto, agregamos una llamada a
la subrutina nueva.
Para generar un nuevo problema, que significa generar nmeros aleatorios dos Nmero1 y nmero2
entre 1 y 9 y espectculo en la lblNumber1 y la lblNumber2 etiquetas.
Y la 'Nueva' subrutina:
RND (1, 10) Generador de nmeros aleatorios, '1' nmero de minutos inclusivo y max '10'. nmero exclusivo.
lblComments.Text = \"Escriba el resultado\"
Muestra el comentario de lblComments. CRLF es el carcter de salto de lnea.
2. Mi primer programa 30 Basic4Android Gua del principiante
Si btnAction.Text = \"O K\" Then comprueba si el texto del botn es igual a \"O K\"
Si comprobamos si el EditText est vaca.
Si s, nos mostrar un cuadro de mensaje que indica al usuario que no existe ningn resultado en la vista EditText.
Si no, se comprueba si el resultado es correcto o si es falsa.
Si no que entonces generamos un nuevo problema, establezca el texto del botn de \"OK\" y borrar la vista EditText.
Todava no hemos puesto el nombre del paquete para que el IDE lo pide. Escriba B4A.MyFirstProgram.
Android necesita el paquete nombre beeing minsculas. Desde B4A esto es obligatorio!
Haga clic en .
Haga clic en .
Cuando veas \"Ha completado con xito.\" por encima del cuadro de mensaje, la compilacin y la transferencia es
terminado.
Mira el emulador, debera ver algo similar a la imagen a continuacin, con diferentes nmeros.
2. Mi primer programa 32 Basic4Android Gua del principiante
Crear una carpeta nueva SecondProgram. Copiar todos los archivos y carpetas de MyFirstProgram a la
Nueva carpeta de SecondProgram y renombrar el programa file MyFirstProgram.b4a a
SecondProgram.b4a.
Cambiar el nombre a
B4A.secondprogram, atencin minsculas!
Haga clic en .
3 Segundo programa 34 Basic4Android Gua del principiante
Cambiar el nombre a
SecondProgram.
Haga clic en .
3 Segundo programa 35 Basic4Android Gua del principiante
En el emulador y el diseador.
Haga clic en
Duplicar
3 Segundo programa 36 Basic4Android Gua del principiante
Nombre a lblResult
Radio de esquina 5
Color a blanco
Alpha a 255
3 Segundo programa 37 Basic4Android Gua del principiante
Haga clic en
Haga clic en
para agregar un nuevo botn.
Nombre a btn0
Nombre del evento
a btnEvent
Izquierda a 10
Arriba a 120
Ancho a 55
Altura a 55
Etiqueta 0
Texto 0
Tamao a 24
Orientacin a Alto_Bajo
Primer Color
Segundo Color
Orientacin a Alto_Bajo
Primer Color
Segundo Color
Nombre a btn1
Etiqueta 1
Texto 1
Haga clic en
Haga clic en y .
Necesitamos saber qu botn provoc el evento. Para ello, utilizamos el objeto remitente que es especial
objeto que contiene la referencia de objeto de la vista que gener el evento en el evento de rutinario.
El\"
el botn que provoc el evento.
Al hacer clic en el botn de BS en que debemos eliminar el ltimo carcter del texto existente
lblResult.
Sin embargo, esto slo es vlido si la longitud del texto es mayor que 0. Esto se comprueba con:
Si lblResult.Text.Length > 0 Then
SubString2 (BeginIndex, EndIndex) extrae un nuevo comienzo de la cadena en BeginIndex (inclusive) hasta
EndIndex (exclucive).
Podemos intentar mejorar la interfaz de usuario del programa en agregar algunos colores a la lblComments
Etiqueta.
Debemos definir:
-Amarillo para un nuevo problema
-Luz verde para una buena respuesta
-Luz roja para una respuesta equivocada.
Otra mejora sera ocultar el botn '0' para evitar entrar en un lder '0'.
Para ello, podremos ocultar el botn en la subrutina nuevo en lnea 57.
Cuando nosotros estamos accediendo a btn0 en el cdigo que hay que declararlo en la rutina de Globals.
4 El IDE
El entorno de desarrollo integrado.
4.1.1 Toolbar
Lista de rutina
4 El IDE 49 Basic4Android Gua del principiante
Mdulo de actividad
Mdulo de cdigo
Mdulo de servicio
Propiedades de la actividad
Orientaciones compatibles
Ambos modos.
Retrato slo.
Paisaje slo.
4 El IDE 51 Basic4Android Gua del principiante
Configure Paths
Word wrap
Guardado automtico
Haga clic en
Proyecto limpio Elimina todos los genera los archivos que se generan durante la compilacin.
4 El IDE \/ 4.2 Cdigo rea 53 Basic4Android Gua del principiante
Ejemplo:
-Cambiar todo
Se expande el colapsado
las rutinas y se derrumba el
rutinas extendidas y regiones.
-Contraer todo
Contrae el cdigo entero.
Una parte seleccionada del cdigo puede ser establezca lneas de comentario o a la normalidad.
Cdigo original
Seleccione el cdigo.
Haga clic en .
4.2.6 Marcadores
Puede configurar 'Favoritos' en todas partes en el cdigo y saltar hacia delante y hacia atrs entre estos
marcadores.
Haga clic en .
4.2.7 Sangra
Ejemplo con un
sangra de 4
Todo bloques de cdigo pueden aplicarse sangra hacia adelante y hacia atrs a la vez.
Cdigo original
Haga clic en .
4.2.8 Autocompletar
Al seleccionar un elemento, el
ayuda interna se muestra
Presiona Tab.
Y t ests all.
4 El IDE \/ 4.2 Cdigo rea 62 Basic4Android Gua del principiante
Al seleccionar una palabra, sta se resalta en azul oscuro y son todas las ocurrencias en el cdigo
resaltado en azul claro y en el scrollview del lado derecho.
Con el deslizador puede subir o bajar el cdigo para ir a las otras ocurrencias.
4.2.11 Depuracin
Para permitir la depuracin le debe activar la opcin de depuracin en la parte superior del IDE.
Cuando ejecutamos el programa con la opcin de depuracin, el IDE abrir el mdulo de depurador en la
parte inferior de la pantalla:
Puntos de interrupcin - puede marcar lneas de cdigos como los puntos de interrupcin. Esto se hace pulsando sobre la zona
izquierda de la lnea.
El programa se detendr cuando llegue a un punto de interrupcin y le permitir inspeccionar el estado actual.
4 El IDE \/ 4.2 Cdigo rea 64 Basic4Android Gua del principiante
Registro - la ficha de registros en el panel de la derecha es muy til. Muestra mensajes relacionados con la
ciclo de vida de componentes y tambin pueden mostrar los mensajes que se imprimen con la palabra clave de registro. Usted
debe pulsar en el botn Conectar para conectarse a los registros del dispositivo. Tenga en cuenta que hay un filtro
casilla de verificacin. Cuando se registra slo ver mensajes relacionados con su programa. Cuando es
que ver todos los mensajes que se ejecutan en el sistema. Si le surgen un error y
no veo ningn mensaje relevante en el registro, vale desmarcar la opcin de filtro y buscando
un mensaje de error.
Tenga en cuenta que el registro es mantenido por el dispositivo. Cuando se conecte a un dispositivo tambin ver
mensajes anteriores.
El propsito de ofuscacin es hacer que el cdigo descompilado menos legible, ms difcil de entender y
hacen ms difcil extraer cadenas como desarrollador cuenta claves.
Ofuscacin de cadenas
Cualquier cadena escrita en Process_Globals sub (y slo en este sub) ser ofuscado, hacindola mucho
ms difcil de extraer claves importantes. Las cadenas son defuscated en tiempo de ejecucin.
Tenga en cuenta que varias teclas se utilizan durante la ofuscacin, incluyendo el nombre del paquete, el nombre de la versin
Cdigo de versin. Modificar estos valores con el editor de manifiesto se romper el proceso de defuscation.
Consejo: Si, por alguna razn, necesita evitar el Ofuscador para cambiar el nombre de un identificador debe agregar
un guin bajo en el nombre del identificador.
Activar el Ofuscador
Basic4android versin 1.8 hace ms simple elegir el modo de compilacin.
4 El IDE \/ 4.2 Cdigo rea 65 Basic4Android Gua del principiante
Haciendo clic en una lnea en el margen izquierdo, agrega un punto de interrupcin. Cuando se ejecuta el programa se deteng
primer punto de interrupcin.
Ejecutar el programa, el programa se detiene en el punto de interrupcin y el IDE se parece a continuacin. El punto de interr
lnea es resaltada en amarillo.
Variables globales.
Lista de la global
objetos y variables
utilizado por el programa
con sus valores y
parmetros.
Ejemplos:
btnAction: tipo = botn izquierdo = Top 190 = 0 Width = altura 115 = 55 Tag = texto vaco = OK
Nmero1 = 6
Variables locales.
Flotando con el ratn sobre una vista, sus parmetros como muestra en la lista.
4 El IDE \/ 4.2 Cdigo rea 67 Basic4Android Gua del principiante
4.3 Fichas
Lista de mdulos
Al hacer clic en un mdulo muestra su cdigo en el rea de cdigo.
4.3.2 Archivos
Esta ventana muestra todos los archivos que se han agregado al proyecto.
Estos archivos se guardan en la carpeta Files.DirAssets.
Estos pueden ser cualquier tipo de archivos: diseos, imgenes, textos, etc..
botn.
Asegrese de tener una copia de los archivos que quitar, porque ellos se quitan los archivos
carpeta, pero no se transfieren a la papelera de reciclaje, que significa que son definitivamente perdidos si no
tener una copia.
4.3.3 Registros
Ejecute el programa.
Cuando se activa el filtro slo ver mensajes relacionados con su programa. Cuando se
no est marcada, ver todos los mensajes que se ejecutan en el sistema. Si le surgen un error
y no ve ningn mensaje relevante en el registro, merece la pena desmarcar la opcin de filtro y mirando
para un mensaje de error
Si todava se est ejecutando el depurador, seleccione depuracin > Stop en el men IDE, presione F11 o haga clic en
por lo que se puede editar el cdigo.
4 El IDE \/ 4.3 fichas 71 Basic4Android Gua del principiante
4.3.4 Libs
En los casos 1) 2) y 3) el tamao fsico de las pantallas es iguales pero la densidad de los pxeles es
diferentes.
En los casos 1) y 4) las densidades son los mismos pero las dimensiones fsicas de la pantalla en el caso 4)
son el doble de los de la pantalla en el caso 1) dando as una superficie cuatro veces mayor.
Un mismo archivo de diseo puede encajar en diferentes resoluciones de pantalla, pero con algunas restricciones.
Utilizaremos el programa TestLayouts para probar el mismo diseo con diferentes resoluciones de pantalla.
El cdigo fuente se encuentra en el directorio de \\SourceCode\\TestLayouts de <Guide>.
Y el cdigo es:
Pruebas con los tres emuladores con diferentes resoluciones y diferentes densidades.
Los tamaos de imagen son reducidos por un factor de 0,5 para fcil comparacin.
Lo que vemos:
- con la resolucin estndar, la imagen en el emulador es igual al diseo original.
- con la resolucin 240\/320 vemos que hay los 'esperados' 40 pxeles que faltan.
- con la resolucin de 480\/800, vemos que hay el pxel extra 80 'esperado'.
Los nmeros de los elementos de ListView son las mismas para todos los tres resoluciones.
5 Tamaos de pantalla y resoluciones 75 Basic4Android Gua del principiante
En la lnea 23 calculamos la parte superior del panel pnlToolBox segn la altura de la pantalla.
En lnea 24 calculamos la altura de ListView segn la parte superior de la pnlToolBox.
Lo que vemos:
- con la resolucin estndar, la imagen en el emulador es todava igual al diseo original.
- con la resolucin 240\/320, vemos que los botones estn en la parte inferior de la pantalla, pero la
Altura de ListView se acorta.
- con la resolucin de 480\/800 vemos que los botones estn en la parte inferior y ListView
mayor.
Los nmeros de los elementos de ListView son diferente en los tres diseos porque la altura de ListView
se ha adaptado a la altura de la pantalla relativa diferente.
Estos ejemplos muestran que no es fcil tener un diseo para diferentes resoluciones de pantalla.
En el ejemplo anterior era relativamente fcil porque la vista en el medio es fcilmente ajustable.
5 Tamaos de pantalla y resoluciones 76 Basic4Android Gua del principiante
Incluso cuando carga el archivo de diseo en los emuladores de tres resoluciones de 480 \/ 800, 320 \/ 480 y
240 \/ 320 pxeles el diseo est estirada o reducido segn el tamao de la pantalla, pero vemos naturalmente
tambin los extras y faltantes pxeles dependiendo de la altura de la pantalla relativa diferente.
El sistema de Android OS autoscale ajusta la izquierda, arriba, anchura, altura, FontSize y otros
los parmetros con la escala de factor, pero no cambia de tamao las posiciones verticales ni las alturas de la
vistas proporcionales a la altura de la pantalla. Lo mismo es vlido para el ancho en el modo paisaje.
5 Tamaos de pantalla y resoluciones 77 Basic4Android Gua del principiante
DipToCurrent calcula una dimensin con la longitud dada segn la escala de la actual
dispositivo.
Ejemplo:
Dim Button1 As botn
Button1.Initialize(\"Button1\")
Activity.AddView (Button1, 20% x, 30% y, 100dip, 50dip)
Los valores de las propiedades en el diseador de izquierda, superior, ancho y altura son considerados como
valores de la DIP.
5 Tamaos de pantalla y resoluciones 78 Basic4Android Gua del principiante
Con el gran nmero de dispositivos, con diferentes tamaos de pantalla y resoluciones, disponibles en el mercado
resulta ms complicado disear un proyecto que se ve bonito en todos los dispositivos disponibles.
No hay ninguna regla universal para manejar este problema, depende de:
Qu tipo de proyecto est diseando.
Qu dispositivos y la pantalla le tamaos son certero.
Lo que desea mostrar en las pantallas diferentes.
Un mismo diseo pero estirada segn los tamaos de pantalla.
Variantes de diseo diferente para los diferentes tamaos, en una pantalla grande que pueden ser ms vistas
muestra al mismo tiempo.
Resumen de los tamaos de pantalla fsico diferente, cada tamao puede tener diferentes resoluciones, densidades
escalas y proporciones.
resolucin escala de densidad relacin de aspecto
~ 3.0'' - 4.0 ''
320 \/ 240 120 0.75 4 \/ 3 1,333
480 \/ 320 160 1 3 \/ 2 1.5
640 \/ 480 240 1.5 4 \/ 3 1,333
800 \/ 480 240 1.5 5 \/ 3 1.667
854 \/ 480 240 1.5 16 \/ 9 1,78
960 \/ 540 240 1.5 16 \/ 9 1,78
960 \/ 640 240 1.5 3 \/ 2 1.5
1280 \/ 720 320 2 16 \/ 9 1,78
~ 5.5 ''
1280 \/ 800 240 1.5 8 \/ 5 1.6
~ 7 ''
1024 \/ 600 160 1 1.71
1280 \/ 800 160 1 8 \/ 5 1.6
~ 10 ''
1024 \/ 600 160 1 1.71
1024 \/ 768 160 1 4 \/ 3 1,333
1280 \/ 800 160 1 8 \/ 5 1.6
Para la comparacin:
Una pantalla 5.5'' tiene una superficie de aproximadamente 2,5 veces ms grande que una pantalla de 3,5 ''.
Una pantalla de 7'' tiene una superficie de aproximadamente 4 veces ms grande que una pantalla de 3,5 ''.
Una pantalla de 10'' tiene una superficie de aproximadamente 9 veces ms grande que una pantalla de 3,5 ''.
5 Tamaos de pantalla y resoluciones 79 Basic4Android Gua del principiante
Los ejemplos siguientes muestran un mismo desplegado de diseo en el cdigo para ajustar los tamaos de pantalla diferente
El cdigo fuente es OneLayoutStreched, las imgenes son imgenes de emulador.
~3.5'' 240 \/ 320 ~3.5'' 320 \/ 480 ~3.5'' 480 \/ 800 ~5.5'' 800 \/ 1280 \/ 240
Probablemente no es la mejor solucin para tener el mismo desplegado de diseo para todos los tamaos de pantalla.
Podra ser ms interesante mostrar ms vistas en las pantallas ms grandes.
5 Tamaos de pantalla y resoluciones 80 Basic4Android Gua del principiante
Sub CheckDeviceType
' comprobar el tipo de dispositivo utilizado para definir tamaos de texto
' debe completarse si es necesario
LV = GetDeviceLayoutValues
Seleccione lv.Escala
Caso 2
DeviceType = \"Smartphone 5\"
TextSizeRatio = 1.5
Caso 1.5
Si lv.Ancho > 1100 entonces
DeviceType = \"Tableta de 7\"
TextSizeRatio = 2
Else
DeviceType = \"Smartphone 3.5\"
TextSizeRatio = 1
End If
Caso 1
Si lv.Ancho > 1100 entonces
DeviceType = \"Tablet 10\"
TextSizeRatio = 3
Else If lv.Ancho < 600 entonces
DeviceType = \"Smartphone 3.5\"
Else
DeviceType = \"Tableta de 7\"
TextSizeRatio = 2
End If
End Select
End Sub
ArgumentException: The incoming token has expired. Get a new access token from the Authori
ArgumentException: The incoming token has expired. Get a new access token from the Auth
btnTest1.Left = 0
btnTest1.Width = wb
btnTest1.Top = 0
btnTest1.Height = wb
.
lblTitle.Left = 10% x
lblTitle.Width = 80% x - wb
lblTitle.Top = 0
lblTitle.Height = 100% y \/ 8
lstTest.Left = 5% x
lstTest.Width = 90% x - wb
lstTest.Top = lblTitle.Height
lstTest.Height = 100% y - lstTest.Top
lstTest.TwoLinesLayout.Label.Height = 12% y
lstTest.TwoLinesLayout.Label.Top = 0
lstTest.TwoLinesLayout.SecondLabel.Height = 10% y
1.2 Instalacin de emulador Android 81 Basic4Android Gua del principiante
lstTest.TwoLinesLayout.SecondLabel.Top = 12% x
lstTest.TwoLinesLayout.ItemHeight = 24% y
Else
WB = 100% x \/ 4
pnlToolbox.Left = 0
pnlToolbox.Width = 100% x
pnlToolbox.Height = wb
pnlToolbox.Top = 100% y - wb
btnTest1.Left = 0
btnTest1.Width = wb
btnTest1.Top = 0
btnTest1.Height = wb
.
lblTitle.Left = 10% x
lblTitle.Width = 80% x
lblTitle.Top = 0
lblTitle.Height = 100% x \/ 8
lstTest.Left = 5% x
lstTest.Width = 90% x
lstTest.Top = lblTitle.Height
lstTest.Height = pnlToolbox.Top - lstTest.Top
lstTest.TwoLinesLayout.Label.Height = 12% x
lstTest.TwoLinesLayout.Label.Top = 0
lstTest.TwoLinesLayout.SecondLabel.Height = 10% x
lstTest.TwoLinesLayout.SecondLabel.Top = 12% x
lstTest.TwoLinesLayout.ItemHeight = 22% x
End If
lstTest.TwoLinesLayout.Label.TextSize = 20 * TextSizeRatio
lstTest.TwoLinesLayout.Label.Gravity = Gravity.CENTER_VERTICAL
lstTest.TwoLinesLayout.Label.Color = Colors.Blue
lstTest.TwoLinesLayout.SecondLabel.TextSize = 16 * TextSizeRatio
lstTest.TwoLinesLayout.SecondLabel.Gravity = Gravity.CENTER_VERTICAL
lstTest.TwoLinesLayout.SecondLabel.Color = Colors.Green
End Sub
5 Tamaos de pantalla y resoluciones 82 Basic4Android Gua del principiante
En los siguientes ejemplos podemos ver la pantalla de una cuadrcula con botones. Las dimensiones del botn fsico son
casi lo mismo. El cdigo fuente es CodeLayout.
El cdigo fuente:
x 0 = 4dip
x 1 = 60dip
x 2 = x 0 + x 1
NX = piso (Activity.Width\/x 2) - 1
NY = piso (Activity.Height\/x 2) - 1
k = 0
Para j = 0 A ny
Para i = 0 To nx
k = k + 1
Dim btn como botn
btn.Initialize(\"Btn\")
btn.Color = Colors.Red
Activity.AddView (btn, x 0 + i * x 2, x 0 + j * x 2, x 1, x 1)
btn.Texto = k
btn.TextSize = 20
Siguiente
Siguiente
5 Tamaos de pantalla y resoluciones 83 Basic4Android Gua del principiante
Si desea mostrar ms vistas en las pantallas ms grandes debe definir dos variantes de diseo (uno para
Retrato y un paisaje) para cada tamao de pantalla y resolucin. Esto puede ser bastante
combersome.
Compromisos podran ser utilizado, definir los diseos parcialmente en los archivos de diseo y parte en el cdigo.
La adaptacin de diferentes proporciones de aspecto podra hacerse en el cdigo en lugar de diseo independiente
variantes.
Como ya se mencion, no hay ninguna regla universal, la solucin depende de diferentes factores.
Como un desarrollador debe definir sus necesidades y requerimientos en funcin de:
Qu tipo de proyecto est diseando.
Qu tipo de datos que usted est recibiendo tratamiento, visualizacin, edicin, etc..
Qu dispositivos y la pantalla le tamaos son certero.
Lo que desea mostrar en las pantallas diferentes.
Un mismo diseo pero estirada segn los tamaos de pantalla.
Variantes de diseo diferente para los diferentes tamaos, en una pantalla grande que pueden ser ms vistas
muestra al mismo tiempo.
5 Tamaos de pantalla y resoluciones 84 Basic4Android Gua del principiante
Retrato
Phone1.SetScreenOrientation(1)
Ambos
Phone1.SetScreenOrientation(-1)
6 El emulador 85 Basic4Android Gua del principiante
6 El emulador
El emulador o dispositivo Virtual es un programa que simula dispositivos en el PC.
Para iniciar un emulador, haga clic en el IDE en el men Herramientas en ejecutar el administrador de AVD.
.
Haga clic en
6 El emulador 86 Basic4Android Gua del principiante
Espere hasta que est listo el emulador, esto tomar bastante tiempo.
6 El emulador 87 Basic4Android Gua del principiante
Agreguemos un nuevo emulador con una resolucin de 480 \/ 800 pxeles, densidad 240.
En el administrador de AVD
Haga clic en
Introduzca el 16.
Haga clic en
Haga clic en .
6 El emulador 88 Basic4Android Gua del principiante
Haga clic en .
Haga clic en .
Cuando se ejecute el programa o conectar con el emulador desde el diseador, a veces se quiere
Vea el siguiente mensaje.
Sin embargo, incluso despus de que hace clic en , a veces ver siguiente mensaje.
En la mayora de los casos, si se ejecuta el programa una vez ms, se establecer la conexin con el emulador
y funcionar correctamente.
Esto suele ocurrir cuando el emulador todava se est ejecutando un programa o si el emulador es todava
conectado a otro proyecto. En este caso, presione el botn back hasta llegar a la casa del emulador
pantalla e intntelo de nuevo.
Si esto ocurre por segunda vez, cerrar el emulador actual y volver a ejecutarla desde la AVD
Manager.
Si el primer mensaje anterior aparece con demasiada frecuencia puede aumentar el valor de tiempo de espera del proceso.
6 El emulador 90 Basic4Android Gua del principiante
Para obtener acceso a archivos en el emulador puede utilizar al Dalvik Debug Monitor.
El nombre es ddms.bat y se encuentra en la carpeta donde copi el SDK de Android.
Ejemplo: C:\\Android\\android-sdk-windows\\tools.
Espere un momento.
Seleccionarlo.
Ver varios
carpetas.
En data\\app te vas
encontrar aplicaciones.
mnt\\sdcard
es la
DirRootExternal
carpeta.
En el ejemplo de la
archivo persons.db es un
base de datos copiado en un
Programa B4A
DirAssets a
DirRootExternal.
6 El emulador 93 Basic4Android Gua del principiante
Si no funciona el Dalvik Debug Monitor necesita agregar la ruta donde se encuentra el archivo ddms.bat
a las variables de entorno.
Desde el escritorio, haga clic en mi PC y haga clic en propiedades.
En la ventana Propiedades del sistema, haga clic en la ficha Avanzadas.
En la seccin de opciones avanzadas, haga clic en el botn Variables de entorno.
Finalmente, en la ventana de Variables de entorno (como se muestra a continuacin), resaltar la variable Path en
la seccin sistemas Variable y haga clic en el botn Editar (modificador). Agregar o modificar las lneas de ruta
con las rutas desea que el equipo tenga acceso a. Cada directorio diferente se separa con un
punto y coma como se muestra a continuacin.
7 B4A puente 94 Basic4Android Gua del principiante
7 Puente B4A
Hasta ahora existan dos mtodos para probar la aplicacin durante el desarrollo.
Usted puede ya sea trabajo con el emulador de Android o si el dispositivo admite la depuracin de la ADB, ests
puede conectarse a su dispositivo real.
El emulador de Android es muy lento en comparacin con un dispositivo real (especialmente con aplicaciones
instalacin).
Por lo tanto, en la mayora de los casos es ms conveniente trabajar con un dispositivo real.
Personalmente, estoy usando el emulador slo cuando se trabaja con el diseador visual.
Sin embargo, no todos los dispositivos admiten depuracin de ADB. Esta es exactamente la razn para la nueva B4A-
Herramienta de puente.
B4A-puente est formado de dos componentes. Un componente se ejecuta en el dispositivo y permite el segundo
componente que es parte del IDE para conectarse y comunicarse con el dispositivo.
La conexin se realiza a travs de una red (B4A-puente no puede funcionar si no hay ninguna red disponible).
Una vez conectado, B4A-puente admite todas las caractersticas IDE que incluyen: instalacin de aplicaciones,
Ver LogCat y el diseador visual.
Android no permite a las aplicaciones silenciosamente instalar otras aplicaciones, por lo tanto, al ejecutar su
aplicacin mediante B4A-puente, ver un cuadro de dilogo pidiendo su aprobacin.
Eso es todo.
Cuando B4A-puente se conecta en primer lugar comprueba si la aplicacin diseador necesita ser actualizada. En
ese caso, primero instalar la aplicacin diseador.
B4A-puente sigue funcionando como un servicio hasta que usted oprima el botn Stop.
Usted siempre puede alcanzar mediante la apertura de la pantalla de notificaciones:
Como se mencion anteriormente, cuando se ejecuta una aplicacin deber aprobar la instalacin. Usted
normalmente se ver en las siguientes pantallas:
7 B4A puente 96 Basic4Android Gua del principiante
En el cuadro de dilogo anterior que debe elegir abrir para iniciar la aplicacin.
Si intenta instalar una aplicacin existente firmada con una clave diferente, la instalacin fallar (sin
cualquier mensaje significativo). Debe desinstalar primero la aplicacin existente. Ir a la pantalla de inicio
-Ajustes - aplicaciones - administrar aplicaciones - Elija la aplicacin - desinstalacin.
Una vez terminado desarrollando le debe pulsar el botn Stop para ahorrar batera.
Nota escrita con Basic4android B4A-puente.
El cdigo fuente est disponible aqu: http:\/\/www.basic4ppc.com\/forum\/basic...html#post45854
8 El diseador 97 Basic4Android Gua del principiante
8 El diseador
El diseador permite generar diseos con el emulador o un dispositivo real.
8. El diseador \/ 8.1 el men 98 Basic4Android Gua del principiante
8.1 El men
8.2 Herramientas
Al hacer clic en un evento de una vista genera el marco Sub para este evento.
Haga clic en
es
lo contrario de traer al frente.
La vista se duplica.
8. El diseador \/ 8.2 herramientas 102 Basic4Android Gua del principiante
Haga clic en
para quitarlo.
Se ha quitado la vista.
La cuadrcula es una cuadrcula invisible con un tamao determinado. Tamao de la cuadrcula predeterminado es de 10 p
posiciones y dimensiones de una vista se ajustar a los valores en los pasos correspondientes al tamao de la cuadrcula.
Mover una vista se har en pasos iguales al tamao de la cuadrcula.
Haga clic en
Cuando se selecciona el cuadro combinado de vista, presionando arriba o hacia abajo se mover a travs de la
vistas y las propiedades de la vista mostrar automticamente.
y haga clic en .
8. El diseador \/ 8,5 lista de propiedades 105 Basic4Android Gua del principiante
Tipo Tipo de la vista, no son editable. No es posible cambiar el tipo de una vista.
Si es necesario, debe quitar la vista y agregar uno nuevo.
Nombre del evento Nombre genrico de las subrutinas que administra los eventos de la vista. De forma predeterminada,
el nombre del evento es el mismo que el nombre de la vista como en el ejemplo. Los eventos de varias vistas
puede ser redirigido a una subrutina misma. En ese caso debe introducir el nombre de esa rutina.
Mirar el ejemplo de SecondProgram para la gestin de eventos de clic de los botones de la
teclado, la rutina btnEvent_Click.
Padre Nombre de la vista de los padres. Actividad, en el ejemplo. La vista padre puede ser
cambiado en la seleccin de uno nuevo en la lista.
Izquierda X coordenadas del borde izquierdo de la vista desde el borde izquierdo de su padre
Vista, en pxeles (los pxeles estn en realidad dips, pxeles independientes de la densidad).
8. El diseador \/ 8,5 lista de propiedades 106 Basic4Android Gua del principiante
Arriba Y coordinar del borde superior de la vista desde el borde superior de su padre
Vista, en pxeles (los pxeles estn en realidad dips, pxeles independientes de la densidad).
Ancho Ancho de la vista en pxeles (los pxeles estn en realidad dips, densidad
pxeles independientes).
Altura Altura de la vista en pxeles (los pxeles estn en realidad dips, densidad
pxeles independientes).
Etiqueta Este es un marcador de posicin que puede utilizar para almacenar datos adicionales. Etiqueta pued
texto, pero tambin puede ser cualquier otro tipo de objeto. Etiqueta se utiliza en el ejemplo de SecondProgram para la
botones numricos haga clic en gestin de eventos en la rutina btnEvent_Click.
8. El diseador \/ 8,6 variantes de diseo 107 Basic4Android Gua del principiante
Seleccione:
480 x 320
escala = 1
Haga clic en
ListView1:
Ancho = 380
Altura = 220
8. El diseador \/ 8,6 variantes de diseo 110 Basic4Android Gua del principiante
Para
Ejecute el programa.
Podemos lograr un efecto similar en el diseador cuando se selecciona una variante de diseo diferentes y nos
cambiar a modo de paisaje (Ctrl-F11).
8 El diseador \/ 8.7 Resumen diseador 112 Basic4Android Gua del principiante
El diseador abstracto es una herramienta que muestra el diseo en una ventana independiente y es parte de la
Diseador. Es mucho ms rpido que el emulador.
Su objetivo principal es crear variantes de diseo diferente.
Los diferentes puntos de vista no se muestran con su forma exacta pero slo como rectngulos coloreados.
Al hacer clic en una vista muestra sus propiedades en el diseador.
8.7.1 El men
Diseo
Partidos:
La variante elegida en la
Diseador.
El dispositivo conectado.
Eleccin de la ms actual
tamaos de pantalla y resoluciones.
Zoom
Dos posibilidades:
50 %
100 %
Herramientas
8.7.2 Ejemplo
Tomemos un ejemplo simple con un diseo en el modo de retrato, como la imagen de abajo.
Si se selecciona en el diseador
la variante anterior
Haga clic en el men de herramientas, cambiar el tamao para encajar diseo de formulario
Tambin es posible agregar vistas por cdigo en lugar de utilizar el diseador de un dispositivo, el emulador o
el diseador abstracto.
Ventaja: usted tiene el control total de la vista.
Desventaja: tienes que definir casi todo.
Para las posiciones y dimensiones de las vistas en la pantalla dos opciones especiales estn disponibles:
DIP pxeles independientes de la densidad.
100dip = DipToCurrent(100) DipToCurrent es una palabra clave DIP es el acceso directo
100dip = 100 \/ 160 * densidad de dispositivo
La densidad por defecto es 160 dpi puntos por pulgada (pxeles por pulgada)
Densidades en Android:
o 120 escala 0.75
o 160 escala 1 predeterminado
o 240 escala 1.5
o 320 escala 2
Ejemplo:
Pongamos una etiqueta encima de la pantalla y un Panel debajo de ella con una etiqueta y un botn en l:
8. El diseador \/ 8,8 agregar vistas por cdigo 118 Basic4Android Gua del principiante
lblPanelTitle.Initialize(\"\")
lblPanelTitle.Color = Colors.Red
lblPanelTitle.TextSize = 16
lblPanelTitle.TextColor = Colors.Blue
lblPanelTitle.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
lblPanelTitle.Text = \"Prueba del Panel\"
Y el resultado:
8 El diseador \/ 8.9 Scripts de diseador 120 Basic4Android Gua del principiante
Uno de los ms comunes problemas los desarrolladores Android cara es la necesidad de adoptar la interfaz de usuario
para dispositivos con diferentes tamaos de pantalla.
Como se describe en el tutorial de diseador visual, puede crear mltiples variantes de diseo para que coincida con
pantallas diferentes.
Sin embargo no es viable ni recomendado para crear muchas variantes de diseo.
Basic4android v1.9 introduce una nueva herramienta llamada \"Scripts de diseador\" que le ayudar a afinar
su diseo y ajustarla fcilmente a las diferentes pantallas y resoluciones.
Puede escribir una secuencia de comandos simple para ajustar el diseo basado en las dimensiones del dispositivo actual y
ver los resultados inmediatamente. No es necesario compilar e instalar el programa completo cada vez.
Usted puede ver tambin inmediatamente los resultados en el diseador de resumen. Esto le permite probar su
diseo en muchas diferentes tamaos de pantalla.
8 El diseador \/ 8.9 Scripts de diseador 121 Basic4Android Gua del principiante
Cmo
Cada archivo de diseo puede incluir cdigo de secuencia de comandos. El guin est escrito dentro del diseador visual bajo
nueva ficha de diseador Scripts:
Sus dos tipos de guiones: el guin general que se aplicar a todas las variantes y una secuencia de comandos
especficos de la variante actual.
Una vez que se pulsa en el botn Ejecutar Script (o F5), el script se ejecuta y el dispositivo conectado \/
emulador y diseador resumen mostrar el diseo actualizado.
Lo mismo ocurre cuando se ejecuta el programa compilado. La secuencia de comandos (ya compilado)
ejecutado una vez cargado el diseo.
El lenguaje de script es muy sencillo y est optimizado para la gestin del diseo.
Ejemplo
El primer paso es agregar los puntos de vista y colocarlos con el diseador visual (no necesita ser
100% de precisin).
Ahora seleccione la ficha Diseo de secuencias de comandos y agregue el cdigo.
Tenga en cuenta que las opiniones se bloquean cuando se selecciona la ficha Diseo de secuencias de comandos.
8 El diseador \/ 8.9 Scripts de diseador 123 Basic4Android Gua del principiante
btnDown.Bottom = 100% y
btnDown.Width = 100% x
EditText1.Width = 100% x
EditText1.Bottom = btnDown.Top - 5dip
ListView1.Width = 100% x
ListView1.SetTopAndBottom(,.Abajo, EditText1.Top)
ToggleButton1.HorizontalCenter = 50% x
ToggleButton1.VerticalCenter = 50% y
El resultado:
8 El diseador \/ 8.9 Scripts de diseador 124 Basic4Android Gua del principiante
10 '' tablet
8 El diseador \/ 8.9 Scripts de diseador 125 Basic4Android Gua del principiante
Referencia
ArgumentException: The incoming token has expired. Get a new access token from the Authorization Server. : ID=
ArgumentException: The incoming token has expired. Get a new access token from the Authorization Server. : ID=3311.V
ArgumentException: The incoming token has expired. Get a new access token from the Authorization Server. : ID=3
-TextSize - Obtiene o establece el tamao del texto. No debe utilizar unidades 'dip' con este valor como es
ya medido en unidades fsicas.
-Imagen - establece el archivo de imagen (slo escritura). Slo se admite por ImageView.
Mtodos:
-SetLeftAndRight (izquierda, derecha) - establece propiedades de izquierda y derecha de la vista. Este mtodo cambia el
ancho de la vista en funcin de los dos valores.
-SetTopAndBottom (superior, inferior) - establece propiedades de superior e inferior de la vista. Este mtodo
cambia la altura de la vista en funcin de los dos valores.
Notas y consejos
-Utilizar las unidades 'dip' de todos los tamaos (excepto TextSize). Mediante el uso de 'dip' unidades los valores sern
escalan correctamente en dispositivos con mayor o menor resolucin.
-En la mayora de los casos se recomienda no crear variantes con escalas distintas de 1.0. Al agregar
dicha variante se le dar la opcin de agregar una variante normalizada en su lugar con una escala de 1.0.
-Variables - se pueden utilizar variables en la secuencia de comandos. No es necesario declarar las variables antes
usarlas (no es ninguna palabra clave Dim en la secuencia de comandos).
-Activity.RerunDesignerScript (LayoutFile As String, ancho como Int, altura como Int) - en algunos casos
es deseable para ejecutar el cdigo del script nuevamente durante el programa. Por ejemplo, puede actualizar
el diseo cuando el teclado en pantalla es visible. Mtodo Activity.RerunDesignerScript permite
Vuelva a ejecutar el script y especifique la anchura y altura que representa 100 x % y 100% y.
Para que este mtodo funcione, todas las vistas que se hace referencia en la secuencia de comandos deben declararse en Sub
Globals.
Tenga en cuenta que este mtodo no debe utilizarse para manejar los cambios de orientacin de pantalla. En ese caso la
actividad va a crearse y la secuencia de comandos se ejecutar durante la llamada de Activity.LoadLayout.
9 Actividad y proceso de ciclo de vida 126 Basic4Android Gua del principiante
Un proceso se inicia cuando el usuario inicia la aplicacin, suponiendo que no se est ejecutando ya en
el fondo.
Al final del proceso es menos determinante. Ocurrir en algn momento despus de que el usuario o sistema ha cerrado todos
las actividades.
Si por ejemplo tiene una actividad y el usuario presiona la tecla atrs, se cierra la actividad.
Ms tarde cuando el telfono queda poca memoria (y eventualmente ocurrir) se cerrar el proceso.
Si el usuario inicia su programa nuevamente y el proceso no fue asesinado y luego ser el mismo proceso
ser reutilizados.
Una aplicacin de Basic4android est hecha de una o ms actividades. Android soporta varios otros
componentes \"principales\". Estos sern agregados a Basic4android en el futuro.
Una diferencia importante es que, si bien no es una actividad en primer plano puede morir a fin de
preservar la memoria. Normalmente querr guardar el estado de la actividad antes de se pierde. Ya sea en
un almacenamiento persistente o en la memoria que est asociado con el proceso.
Posteriormente a esta actividad se crearse cuando sea necesario.
Otro punto delicado ocurre cuando hay un cambio de configuracin principales en el dispositivo. La mayora
comn es un cambio de orientacin (el usuario gira el dispositivo). Cuando se produce un cambio del
actividades actuales son destruidas y luego recreadas. Ahora es posible crear la actividad segn
a la nueva configuracin (por ejemplo, ahora sabemos las nuevas dimensiones de la pantalla).
9 Actividad y proceso de ciclo de vida 127 Basic4Android Gua del principiante
Cuando se crea una nueva actividad se iniciar con la siguiente plantilla de cdigo:
Las variables pueden ser globales o locales. Las variables locales son variables que se declaran dentro de un sub
otro que Process_Globals o Globals.
Las variables locales son locales a la sub que contiene. Una vez los extremos sub, estas variables ya no existen.
Las variables globales pueden accederse desde todos los subs.
Para resumir, puede probar declarcin sea True y, a continuacin, inicializar las variables de proceso que
se declaran en Sub Process_Globals.
8. El diseador \/ 8,8 agregar vistas por cdigo 129 Basic4Android Gua del principiante
Cada vez que la actividad se mueve en primer plano al fondo que se llama Activity_Pause.
Tambin se llama Activity_Pause cuando la actividad est en primer plano y un cambio de configuracin
se produce (que conduce a la actividad en pausa y luego destruidos).
Activity_Pause es el ltimo lugar para guardar informacin importante.
Generalmente hay dos tipos de mecanismos que permiten guardar el estado de actividad.
Informacin que slo es relevante a la instancia actual de la aplicacin puede almacenarse en uno o ms
las variables de proceso.
Otra informacin debe almacenarse en un almacenamiento persistente (archivo o base de datos).
Por ejemplo, si el usuario modifica algunos ajustes deben guardar los cambios en un almacenamiento persistente
en este punto. De lo contrario se pueden perder los cambios.
Activity_Resume se llama justo despus de acabados Activity_Create o reanudar una actividad en pausa
(actividad se traslad a fondo y ahora se vuelve al primer plano).
Tenga en cuenta que cuando abres una actividad diferente (por llamada StartActivity), la actividad actual es el primera
en pausa y, a continuacin, se crear la otra actividad si es necesario y se reanud (siempre).
Como se discuti anteriormente Activity_Pause se llama cada vez que la actividad se mueve en primer plano para
el fondo. Esto puede suceder porque:
1. Se inici una actividad diferente.
2. Se presion el botn de inicio.
3. Un evento de configuracin cambiada fue levantada (orientacin cambiada por ejemplo).
4. Se presion el botn atrs.
En los escenarios 1 y 2, se interrumpir la actividad y por ahora se mantiene en memoria como se espera ser
reutilizados posteriormente.
En el escenario 4 la actividad ser en pausa y destruida. Pulsando el botn de la parte posterior es similar a
cierre de la actividad. En este caso no necesita guardar cualquier instancia informacin especfica (la
posicin de pacman en un juego de PacMan por ejemplo).
El parmetro UserClosed ser cierto en este escenario y false en todos los dems. Tenga en cuenta que tambin ser
True al llamar a Activity.Finish. Este mtodo hace una pausa y destruye la actividad actual, similar a
el botn atrs.
Puede utilizar UserClosed parmetro para decidir qu datos para guardar y tambin si desea restablecer cualquiera
las variables de proceso relacionados con su estado inicial (mover la posicin de pacman al centro si la posicin es un
variable de proceso).
10 Variables y objetos 130 Basic4Android Gua del principiante
10 Variables y objetos
Una variable es un nombre simblico dado a alguna cantidad conocida o desconocida o informacin, para la
propsito de permitir que el nombre ser usado independientemente de la informacin que representa. Una variable
nombre en cdigo de fuente de computadora generalmente asociada a una ubicacin de almacenamiento de datos y as tambi
contenido y estos pueden cambiar durante el curso de la ejecucin del programa. (fuente Wikipedia)
Tipos primitivos se pasan siempre por valor a otros subs o cuando asigna a otras variables.
Por ejemplo:
La variable A = 12
Se pasa por valor a rutina S2
A variable an equivale a 12, aunque b fue cambiado en rutina S2.
Variable B = 12
Su valor se cambia a B = 45
10 Variables y objetos 131 Basic4Android Gua del principiante
Todos los dems tipos, incluyendo matrices de tipos primitivos y las cadenas se clasifican como no primitivo
tipos.
Cuando se pasa una primitiva-no a un sub o cuando se le asigna a una variable diferente, una copia de la
se pasa una referencia.
Esto significa que los datos en s no est duplicados.
Es ligeramente diferente al pasar por referencia, como no se puede cambiar la referencia del original
variable.
Dim arr(3) como Int ' esta llamada es redundante en este caso.
Dim List1 como lista
List1.Initialize
Para i = 1 A 5
Dim arr(3) como Int
ARR(0) = i * 2
ARR(1) = i * 2
ARR(2) = i * 2
List1.Add(arr) ' Agregar el conjunto como un solo elemento
Siguiente
ARR = List1.Get(0) ' obtener el primer elemento de la lista
Log(arr(0)) ' se imprimirn 2
Consejo: Puede utilizar la biblioteca de CollectionsExtra de agraham para copiar una matriz.
10 Variables y objetos 132 Basic4Android Gua del principiante
Depende de usted para dar cualquier nombre a una variable, excepto palabras reservadas.
Un nombre de variable deben comenzar con una letra y debe estar compuesto por los siguientes caracteres A-z, un-
z, 0-9 y de subrayado \"_\", sin espacios, sin corchetes etc..
Nombres de variables distinguen maysculas de minsculas, esto significa que el ndice y refieren a la misma variable.
Para las vistas resulta til aadir al nombre de un prefijo de tres caracteres que define su tipo.
Ejemplos:
lblCapital LBL > etiqueta Capital > fin
edtInterest EDT > EditText Inters > fin
btnNext btn > botn Prxima > fin
Las variables declaradas con la Dim palabra clave seguida por el nombre de la variable y el Comopalabra clave
y seguido por el tipo de variable. Ejemplos:
Los nombres de las variables separaron por comas y seguido por la declaracin de tipo.
10 Variables y objetos 133 Basic4Android Gua del principiante
Para asignar un valor a una variable escritura su nombre seguido por el signo igual y seguido por la
valor, como:
Capital = 1200
LastName = \"SMITH\"
Los arreglos son colecciones de datos u objetos que se pueden seleccionar mediante ndices. Arreglos de discos pueden tener
dimensiones.
La declaracin contiene la Dim palabra clave seguida por el nombre de la variable
LastName, el nmero de
elementos entre parntesis (50), la palabra claveComo
y el tipo de variable Cadena.
Ejemplos:
o
10 Variables y objetos 134 Basic4Android Gua del principiante
Este ejemplo muestra cmo obtener acceso a todos los elementos de un tres matriz dimensional.
Y la rutina de acceso.
Vistas u objetos tambin pueden estar en una matriz. El cdigo siguiente muestra un ejemplo:
Los nombres individuales (b1, b2, etc.) deben ser tambin 'Dimed'.
Los botones tambin se podran haber aadido en un archivo de diseo, en ese caso tampoco deben ser inicializados,
ni agregado a la actividad y las propiedades de texto y una etiqueta tambin deben establecerse en el diseador.
En ese caso el cdigo tendra este aspecto:
10 Variables y objetos 136 Basic4Android Gua del principiante
El nuevo tipo de personal es Persona , luego declaramos variables individuales o matrices de este personal
tipo.
Para acceder a un determinado tema utilizar el siguiente cdigo.
CurrentUser.FirstName
CurrentUser.LastName
User(1).LastName
User(1).FirstName
Es posible asignar una variable con tipo a otra variable del mismo tipo, como se muestra a continuacin.
10 Variables y objetos 137 Basic4Android Gua del principiante
10.4 Casting
Basic4android proyecta tipos automticamente segn sea necesario. Tambin convierte a nmeros en cadenas y vice
viceversa automticamente.
En muchos casos necesita convertir explcitamente un objeto a un tipo especfico.
Esto puede hacerse mediante la asignacin del objeto a una variable del tipo necesario.
Por ejemplo, palabra clave Sender hace referencia a un objeto que es el objeto que provoc el evento.
El cdigo siguiente cambia el color del botn pulsado.
Tenga en cuenta que hay varios botones que comparten la misma sub evento.
Para acceder a las variables globales de proceso en otros mdulos que el mdulo donde se declararon sus
los nombres deben tener el nombre del mdulo que fueron declarados como prefijo.
Ejemplo:
Las variables definidas en un modle con el nombre: MyModule
Sub Process_Globals
Dim Mi_var As String
End Sub
10.6 Consejos
Una vista puede asignarse a una variable para poder cambiar fcilmente las propiedades comunes de la vista.
Por ejemplo, el cdigo siguiente desactiva todas las vistas que son hijos directos de la actividad:
11 Mdulos
Existe al menos un mdulo principal.
Su nombre es siempre principal y no puede cambiarse.
Cada actividad tiene su propio mdulo. Para un mejor conocimiento del ciclo de vida de actividad de echar un vistazo a la
Captulo de ciclo de vida de proceso y actividad.
Para acceder a cualquier objeto o variable en un mdulo distinto del mdulo donde fueron declarados te
debe agregar el nombre del mdulo como prefijo para el objeto o el nombre de la variable separados por un punto.
Para acceder a estas variables desde otro mdulo el nombre es Main.Value1 o Main.Value2.
NO es posible acceso cualquier vista desde otro mdulo de actividad, porque cuando es una nueva actividad
comenz la actividad actual est en pausa y es no ms accesible!
11 Mdulos 142 Basic4Android Gua del principiante
Mdulos de cdigo contienen cdigo solamente. No es posible ninguna actividad en mdulos de cdigo.
El propsito y la ventaja de los mdulos de cdigo es compartir mismo cdigo en diferentes programas, principalmente para
clculos u otra gestin general.
Algunos mdulos de cdigo, llamados utilidades, ya estn publicadas por Erel en el Foro:
DBUtils, bases de datos de Android ahora son simples. Utilidades de administracin de base de datos.
HttpUtils, servicios web Android ahora son simples.
StateManager, ayuda a administrar el estado y configuracin de la aplicacin Android.
11 Mdulos 143 Basic4Android Gua del principiante
12 Programas de ejemplo
Hagamos tres diferentes interfaces de usuario para seleccionar tres pantallas diferentes.
Para cada una de las tres pginas hay archivos de diseo independiente pgina1 y pgina2 pgina 3.
Cada archivo de diseo se carga a un Panel o un TabHost.
Estos diseos pueden contener cualquier vistas necesita.
12 Programas de ejemplo 145 Basic4Android Gua del principiante
Tenemos:
- 3 pginas, cada uno en su propia actividad.
- 3 proceso de variables globales, valor1, valor2 y valor3
- en cada pgina 1 EditText ver para modificar el valor de la variable con el ndice de la pgina.
- 2 Etiquetas para mostrar las dos variables.
- en la pgina 1 un pequeo cuadrado rojo Panel para moverse.
Se puede:
- Valor1 de cambio en la pgina 1.
- Cambio valor2 en pgina2.
- Cambio valor3 en la pgina 3.
- Mueva el cuadrado rojo pequeo sobre la pantalla.
- Seleccione pgina2 o pgina 3 en la pgina 1.
Programa de ejemplo de actividad tres 12.2 149 Basic4Android Gua del principiante
y haga clic en .
Aadir ahora un nuevo mdulo \"Pgina3\" del mismo modo como pgina2 y modificar el cdigo como a continuacin:
Cuando la rutina se llama por primera vez, inicialice las tres variables de valor.
Programa de ejemplo de actividad tres 12.2 152 Basic4Android Gua del principiante
Cuando se detiene la actividad de \"Principal\", debido a un cambio de pgina o el programa de cerca, tenemos:
- Ajuste variable Value1 al contenido de edtValue1.Text.
- guardar el mapa en archivo Init.txt.
Para volver a Page1 Page2 o pgina 3, el usuario debe presionar la tecla atrs. Para evitar
el programa se detiene cuando el usuario hace clic, por inadvertencia, un tiempo demasiado, comprobamos en Sub
Activity_KeyPress qu tecla se ha presionado. Y si es la tecla atrs nos muestre un mensaje en un
Cuadro de mensaje preguntando al usuario si realmente desea salir del programa. Si s, entonces establecemos el regreso
valor en False significa que el evento es enviado al OS para cerrar el programa. Si la respuesta es
No, establecemos el valor devuelto en True, lo que significa que nos 'consumir' el evento y el sistema operativo no
detener el programa.
Programa de ejemplo de actividad tres 12.2 153 Basic4Android Gua del principiante
Para mostrar cmo administrar los parmetros de diseo que tenemos el cuadrado rojo pequeo, pnlMove, que puede ser
moverse en la pantalla. La posicin de pnlMove se maneja en Sub Activity_Touch donde obtenemos
tres parmetros:
- Accin manteniendo el valor de la accin del usuario.
ACTION_DOWN el usuario toca la pantalla.
ACTION_MOVE el usuario se mueve en la pantalla
ACTION_UP el usuario abandona la pantalla
- X la coordenada x del dedo en la pantalla.
- Y la coordenada y del dedo en la pantalla.
Principal:
Pgina 1:
ScrollView es una vista muy verstil para mostrar listas de objetos con datos o usuario vistas de interfaz.
Actualmente, ListViews son limitados a dos lneas de texto y una imagen por el conjunto de datos.
ScrollViews tienen un Panel interno, ms grande que la pantalla, que puede desplazarse verticalmente y mantiene
cualquier tipo de vistas como una distribucin o listas de conjuntos de vista.
http:\/\/www.Basic4ppc.com\/F
orum\/Attachments\/basic4andr
oid-updates-Questions\/7324d1
301153817-real-newb-question
-about-how-display-Block-Scro
llable-Text-helpscrollview.jpg
12.3 Programa de ejemplo Scrollview 156 Basic4Android Gua del principiante
Nota: al final de una lnea, un carcter de subrayado como en medios de 213 de lnea
'continuar la misma lnea siguiente instruccin'.
12.3 Programa de ejemplo Scrollview 163 Basic4Android Gua del principiante
Otras funciones:
Cell_Click
Haga clic en el evento de una de las celdas de la tabla.
o Dim rc como una fila Col. l Dim y variable como una etiqueta
o Set l igual al remitente, que provoc el evento
o Conjunto rc igual que el parmetro de la etiqueta del remitente
o Llamar a la rutina de SelectRow
o Mostrar en el ttulo de actividades los ndices de fila y columna y el contenido de la celda.
Header_Click
Haga clic en el evento de una de las celdas de encabezado de la tabla.
o Dim l como etiqueta y Dim col como un entero
o Conjunto que igual al remitente
o Establezca col en el parmetro de la etiqueta del remitente, que es el ndice de la columna.
o Mostrar la columna seleccionada en el ttulo de la actividad.
12.3 Programa de ejemplo Scrollview 164 Basic4Android Gua del principiante
SelectRow
Esta rutina gestiona los colores de la fila seleccionada y celular.
Se llama de la rutina Cell_Click
o Dim col como un entero.
o Si hay una fila seleccionada, defina el color de celda normal.
o Establezca la variable de SelectedRow en el nuevo ndice de la fila seleccionada.
o Establecer la fila seleccionada y seleccionar colores de celda.
12.3 Programa de ejemplo Scrollview 165 Basic4Android Gua del principiante
GetView
Obtiene el objeto Label para determinada fila y columna.
o Dim l como una etiqueta.
o Obtiene la vista en la determinada fila y columna, el ndice de la vista en el panel de ScrollView
es igual a Fila * NumberOfColumns + Col.
o Devuelve la etiqueta.
GetCell
Obtiene el texto de la etiqueta para la determinada fila y columna.
o Obtiene la vista de la determinada fila y columna.
o Devolver el parmetro texto de vistas.
ClearAll
o Elimina todas las vistas (etiquetas) desde el ScrollView Panel
o Establece la altura del Panel ScrollView 0
o Establece el ndice de fila seleccionado a -1, no hay ninguna fila seleccionada
12.3 Programa de ejemplo Scrollview 166 Basic4Android Gua del principiante
13 Lenguaje basic
En programacin, BASIC (una sigla que significa multiuso simblico del principiante
Cdigo de instruccin) es una familia de lenguajes de programacin de alto nivel diseado para ser fcil de usar.
El BASIC Dartmouth original fue diseado en 1964 por John George Kemeny y Thomas
Eugene Kurtz en el Dartmouth College en New Hampshire, Estados Unidos para facilitar el acceso del equipo a no-
estudiantes de Ciencias. En el momento, casi todo el uso de equipos requeridas escribir software personalizado, que
era algo slo cientficos y matemticos solan hacerlo. El lenguaje y sus variantes
lleg a ser generalizada en microcomputadoras en la dcada de 1970 y 1980.
BASIC sigue siendo popular hasta el da de hoy en un puado de dialectos altamente modificados y nuevos lenguajes
influenciado por BASIC como Microsoft Visual Basic. (fuente Wikipedia).
Este es un resumen de las explicaciones ms detalladas en el ciclo de vida del proceso y la actividad.
Una de las razones ms frecuentes por qu una actividad est en pausa, es un cambio de orientacin.
En ese caso la actividad actual es 'pausa' y reactiva con la nueva orientacin y va a
menos a travs de la rutina de Activity_Resume, pero normalmente a travs de Globals, Activity_Create y
Activity_Resume.
5. Se llama Activity_Resume.
Ningn cdigo.
6. El programa espera un
evento.
8. El programa espera
otro evento.
13 Lenguaje basic 170 Basic4Android Gua del principiante
13.2 Expresiones
Una expresin en un lenguaje de programacin es una combinacin de valores explcitos, constantes, variables,
operadores y funciones que se interpretan segn las normas particulares de precedencia y de
Asociacin para un lenguaje de programacin determinado, que calcula y luego produce (retornos)
otro valor. Este proceso, como para expresiones matemticas, se denomina evaluacin. El valor puede
ser de varios tipos, como numrico, cadena y lgicos (fuente Wikipedia).
Por ejemplo, 2 + 3 es una expresin aritmtica y programacin que evala a 5. Una variable es
una expresin porque es un puntero a un valor en la memoria, entonces y + 6 es una expresin. Un ejemplo de
una expresin relacional es 4 = 4, que se evala como True (fuente Wikipedia).
Nivel de prioridad: en una expresin, operaciones con nivel 1 se evalan antes de las operaciones con
nivel 2, que son evaluados antes de las operaciones con el nivel 3.
Ejemplos:
4 + 5 * 3 + 2 = 21 > 4 + 15 + 2
(4 + 5) * (3 + 2) = 45 >9*5
2 2
(4 + 5) * (3 + 2) = 405 >9*5 > 81 * 5
Power(4+5,2)*(3+2)
En Ciencias de la computacin en expresiones relacionales operador pruebas de algn tipo de relacin entre dos
entidades. Estos incluyen la igualdad numrica (por ejemplo, 5 = 5) y las desigualdades (por ejemplo, 4 > = 3).
En B4A estos operadores devolucin verdadero o falso, dependiendo de si la relacin condicional
entre los dos operandos posee o no (fuente Wikipedia).
En Ciencias de la computacin, una expresin booleana es una expresin que produce un valor booleano cuando
evaluadas, es decir, uno de verdadero o falso. Una expresin booleana puede estar compuesta de una combinacin de
las constantes booleanas True o False, variables de tipo Boolean, operadores de valor booleano, y
Funciones de valor booleano (fuente Wikipedia).
Operador Comentario
O Booleano o Z=XOY Z = True si x o y es igual a True o ambos son verdadero
Y Boolean Y Z = X Y Y Z = True si x e y son ambas igual a True
(No) Booleano no X = True Y = Not(X) > Y = False
O Y
X Y Z Z
Falso Falso Falso Falso
True Falso True Falso
Falso True True Falso
True True True True
13 Lenguaje basic 172 Basic4Android Gua del principiante
La estructura If-Then-Else permite operar pruebas condicionales y ejecutar secciones de cdigo diferente
segn el resultado de la prueba.
Caso general:
Las pruebas pueden ser cualquier tipo de prueba condicional con dos posibilidades de verdadero o falso.
Algunos ejemplos:
Caso general:
1. El TestExpression se evala.
2. Si un elemento en la ExpressionList1 partidos TestExpression a continuacin, ejecuta
empresa1 y contina en la siguiente lnea el End Select palabra clave.
3. Si un elemento en la ExpressionList2 partidos TestExpression a continuacin, ejecuta
code2 y contina en la siguiente lnea el End Select palabra clave.
4. Para ninguna coincidencia de expresin
TestExpression ejecuta Code3
y contina en la siguiente lnea el End Select palabra clave.
Ejemplos:
El TestExpression es la suma de un + b
El TestExpression es un personaje en
13 Lenguaje basic 174 Basic4Android Gua del principiante
i variable incremental
N1 valor inicial
N2 valor final
N3 paso
es el mismo que
En VB:
La variable de incremento se aade despus de la Palabra clave.
Siguiente
Se especifica el tipo de bucle despus deSalida
la palabra clave.
13.4.2 Do - Loop
Ejemplos:
VB tambin acepta los siguientes lazos, que no son compatibles con B4A.
13 Lenguaje basic 177 Basic4Android Gua del principiante
13.5 Subs
Una subrutina (\"Sub\") es un fragmento de cdigo. Puede ser de cualquier longitud, y tiene un nombre distintivo
y un alcance definido (en los medios de alcance de las variables anteriormente). En el cdigo de Basci4Android, un
subrutina se llama \"Sub\" y es equivalente a procedimientos, funciones, mtodos y
subtitulos en otros lenguajes de programacin. Las lneas de cdigo dentro de un Sub se ejecutan desde
primero al ltimo, como se describe en el captulo de flujo del programa.
Se recomienda no tener demasiados Subs, reciben menos legibles.
Comienza con la palabra clave Sub, seguido del nombre del Sub, seguido de una lista de parmetros, seguida
por el tipo de valor devuelto y termina con las palabras
EndclaveSub.
Subs siempre se declaran en el nivel superior del mdulo, puede anidar dos Subs
uno dentro del otro.
Cuando desea ejecutar las lneas de cdigo en un Sub, simplemente escribes nombre del Sub.
Por ejemplo:
Inters = CalcInterest(1234, 5.2)
Una subrutina declarada en un mdulo de cdigo puede acceder desde cualquier otro mdulo, pero el nombre de la
rutina debe tener el nombre del ndulo donde fue declarada como prefijo.
Ejemplo: Si la rutina de CalcInterest fueron declarada en el moduel MyModule entonces llamar a la rutina
debe ser:
Inters = MyModule.CalcInterest(1234, 5.2)
En lugar de:
Inters = CalcInterest(1234, 5.2)
13 Lenguaje basic 178 Basic4Android Gua del principiante
13.5.4 Nomenclatura
Bsicamente, puede nombrar a un Sub cualquier nombre que es legal para una variable. Se recomienda
nombre del Sub con un nombre significativo, como
CalcInterest en el ejemplo, as que usted puede indicar lo que
hace de la lectura del cdigo.
No hay lmite en el nmero de Subs puede agregar a su programa, pero no es
permite para tener dos Subs con el mismo nombre en el mismo mdulo.
13.5.5 Parmetros
Los parmetros pueden transmitirse a la Sub. La lista sigue al nombre de sub. La lista de parmetros es poner
soportes.
Los tipos de parmetro deben declararse directamente en la lista.
13.6 Eventos
En la programacin orientada a objetos tenemos objetos que pueden reaccionar sobre las acciones de otro usuario llamadas
eventos.
El nmero y el tipo de eventos que puede elevar un objeto dependen del tipo del objeto.
Objetos de la interfaz de usuario se llaman 'Vistas' en Android.
Eventos
Cl ckedChange
ItemLongClick
FOCnosChaESNd
lUEChaESNd
ChaESNd
GEFinisl d
erPressed
haESNd
LongClick
ItemClick
KeyPress
TOUC
h
Dujon
Click
Up
a. C.
TeXT
ENT
Tun
Pun
Vun
Vistas
Actividad
Botn
Casilla de verificacin
EditText
ImageView
Etiqueta
ListView
Panel
RadioButton
SeekBar
Spinner
TabHost
ToggleButton
Vista Web
13 Lenguaje basic 180 Basic4Android Gua del principiante
Haga clic en Evento que se provoca cuando el usuario hace clic en la vista.
Ejemplo:
LongClick Evento que se provoca cuando el usuario hace clic en la vista y mantiene pulsado durante un rato.
Ejemplo:
Ejemplo:
Ejemplo:
13 Lenguaje basic 181 Basic4Android Gua del principiante
Ejemplo:
13 Lenguaje basic 182 Basic4Android Gua del principiante
13.7 Bibliotecas
Las bibliotecas estndar de B4A se guardan en la carpeta de las bibliotecas en la carpeta del programa B4A.
Normalmente en: C:\\Program Files\\Anywhere Software\\Basic4android\\Libraries
Para las bibliotecas adicionales es til configurar una carpeta especial para guardarlos en otro lugar.
Por ejemplo: D:\\Basic4Android\\AddLibraries
Al instalar una nueva versin de B4A, todas las bibliotecas estndar se actualizan automticamente, pero la
bibliotecas adicionales no estn incluidas. La ventaja de la carpeta especial es que no necesita
se preocupan por ellos porque esta carpeta no se ve afectada al instalar la nueva versin de B4A.
Las bibliotecas adicionales no se actualizan sistemticamente con la nueva versin de B4A.
Cuando se inicia el IDE, busca primero para las bibliotecas disponibles en la carpeta de las bibliotecas de B4A y luego
en la carpeta de las bibliotecas adicionales.
13 Lenguaje basic 183 Basic4Android Gua del principiante
Si recibe este mensaje, significa que ha olvidado comprobar la biblioteca especificada en la lista de la ficha de Lib!
13 Lenguaje basic 184 Basic4Android Gua del principiante
Basic4Android permite manipulaciones de cadenas como otros idiomas bsicos pero con algunas diferencias.
Resultado:
123, 234; 45; 23
Nmero de formato, mostrar los nmeros como cadenas con diferentes formatos, hay dos palabras clave:
NumberFormat (nmero doble, MinimumIntegers como Int, MaximumFractions como Int)
NumberFormat (12345.6789, 0, 2) = 12,345.68
NumberFormat (1, 3, 0) = 001
NumberFormat (valor, 3, 0) pueden utilizar variables.
NumberFormat (valor + 10, 3, 0) pueden utilizar las operaciones aritmticas.
NumberFormat ((lblscore.Texto + 10), 0, 0) Si una variable es una cadena agregar parntesis.
13.9 Temporizadores
Un objeto Timer genera eventos de garrapatas en los intervalos especificados. Utilizando un temporizador es una buena alter
gancho largo, ya que permite que el subproceso de la interfaz de usuario manejar otros eventos y mensajes.
Tenga en cuenta que los eventos del temporizador no disparar mientras el subproceso de la interfaz de usuario est ocupa
Llame a palabra clave DoEvents).
Eventos del temporizador no se activar cuando se detiene la actividad, o si es un dilogo de bloqueo (como Msgbox)
visible.
Tambin es importante desactivar el temporizador cuando la actividad es una pausa y luego activarlo cuando se
se reanuda. Esto ahorra CPU y batera.
Tiene un temporizador:
Tres parmetros.
o Inicializar Inicializa el temporizador con dos parmetros, el EventName y el
intervalo.
Timer1.Initialize (EventName como cadena, intervalo de tiempo)
Ej.: Timer1.Initialize (\"Timer1\", 1000)
Un evento
o Garrapata La rutina de la garrapata se llama cada intervalo de tiempo.
Gxx Sub Timer1_Tick
Pero debe ser inicializado en la rutina de Activity_Create en el mdulo donde la garrapata de temporizador
se utiliza la rutina del evento.
13.10 Archivos
Muchas aplicaciones requieren acceso a un almacenamiento persistente. Son los dos tipos ms comunes de almacenamiento
archivos y bases de datos.
Ubicaciones de archivos - all son varios lugares importantes donde puede leer o escribir archivos.
File.DirAssets
La carpeta de activos incluye los archivos que se agregaron con el administrador de archivos en el IDE.
Es la carpeta de archivos en la carpeta del proyecto.
Estos archivos son de slo lectura.
No puede crear nuevos archivos en esta carpeta (que en realidad se encuentra dentro del archivo apk).
Si tiene un archivo de base de datos en la carpeta Dir.Assets debers copiarlo a otra carpeta antes de
puede utilizarlo.
File.DirInternal \/ File.DirInternalCache
Estas dos carpetas se guardan en la memoria principal del dispositivo y son privadas para su aplicacin.
Otras aplicaciones no pueden acceder a estos archivos.
La carpeta de cach puede obtener eliminada por el sistema operativo Si necesita ms espacio.
File.DirRootExternal
La carpeta de raz de la tarjeta de almacenamiento.
File.DirDefaultExternal
La carpeta predeterminada para su aplicacin en la tarjeta SD.
La carpeta es: datos < tarjeta de almacenamiento > \/ Android \/ \/ < paquete > \/files\/
Se crear si es necesario.
Tenga en cuenta que llamar a cualquiera de los dos anteriores propiedades agregar el permiso de EXTERNAL_STORAGE
para su aplicacin.
Sugerencia: Puede comprobar si hay una tarjeta de almacenamiento y si est disponible con
File.ExternalReadable y File.ExternalWritable.
El objeto de archivo incluye varios mtodos para escribir en archivos y lectura de archivos.
File.OpenOutput (Dir como cadena, nombre de archivo como cadena, anexar As Boolean)
-Abre el archivo dado para la salida, la anexar parmetro indica si el texto se agregar a la
final del archivo existente o no. Si el archivo no existe se crear.
File.WriteString (Dir como cadena, nombre de archivo como cadena, texto As String)
-Escribe el texto en un archivo nuevo.
File.WriteList (Dir como cadena, nombre de archivo como cadena, lista como lista)
-Escribe todos los valores almacenados en una lista en un archivo. Todos los valores se convierten al tipo de cadena si es nec
valor se almacenar en una lnea de separare.
Tenga en cuenta que si el valor contiene el carcter de nueva lnea ser guardado durante ms de una lnea y cuando
leerla, se leer como varios elementos.
File.WriteMap (Dir como cadena, nombre de archivo como cadena, mapa, mapa)
-Toma un objeto de mapa que contiene pares de clave y valor y lo almacena en un archivo de texto. El archivo
formato es conocido como archivo de propiedades Java: .properties - Wikipedia, la enciclopedia libre
El formato de archivo no es demasiado importante, a menos que el archivo se supone para ser editado manualmente. Este form
es fcil editarlo manualmente.
Un uso comn de File.WriteMap es para guardar un mapa de \"configuraciones\" en un archivo.
File.Copy (DirSource As String, ello como cadena, DirTarget As String, FileTarget As String)
-Copia el archivo de origen desde el directorio de origen en el archivo de destino en el directorio de destino.
Tenga en cuenta que no es posible copiar archivos a la carpeta de activos.
Ejemplo: MyFile.txt
Tenga en cuenta que los nombres de archivo Android son case sensitive!
MyFile.txt es diferente de myfile.txt
13.10.3 Subcarpetas
13.10.4 TextWriter
Hay dos otras funciones tiles para archivos de texto: TextWriter y TextReader:
Ejemplo:
Dim Writer As TextWriter
Writer.Initialize (File.OpenOutput (File.DirRootExternal, \"Test.txt\", False))
Ejemplo:
Dim Writer As TextWriter
Writer.Initialize2 (File.OpenOutput (File.DirRootExternal,\"Test.txt\", False), \"ISO-8859-1\")
TextWriter.Close
-Cierra la secuencia.
Ejemplo:
13 Lenguaje basic 190 Basic4Android Gua del principiante
13.10.5 TextReader
Hay dos otras funciones tiles para archivos de texto: TextWriter y TextReader:
Ejemplo:
Dim Reader TextReader
Reader.Initialize (File.InputOutput (File.DirRootExternal, \"Test.txt\"))
Ejemplo:
Dim Reader TextReader
Reader.Initialize (File.OpenInput (File.DirRootExternal, \"Test.txt\"), \"ISO-8859-1\")
TextReader.ReadAll As String
-Lee todo el texto restante y cierra la secuencia.
Ejemplo:
TXT = Reader.ReadAll
TextReader.ReadLine As String
-Lee la lnea siguiente de la secuencia.
Los caracteres de lnea nueva no se devuelven.
Devuelve Null si no hay no hay ms caracteres a leer.
Ejemplo:
Ejemplo:
List1 = Reader.ReadList
13 Lenguaje basic 191 Basic4Android Gua del principiante
Codificacin de texto o codificacin de caracteres consiste en un cdigo que pares cada carcter de un determinado
repertorio con otra cosa. Otros trminos como carcter conjunto (charset) y a veces de carcter
pgina Mapa o cdigo se usan casi indistintamente (fuente Wikipedia).
Muchos archivos generados por los programas de Windows estn codificados con el conjunto de caracteres en el oeste de AN
pases. Por ejemplo: archivos csv de Excel, archivos de Bloc de notas por defecto.
Pero con el Bloc de notas, los archivos pueden guardarse con UTF-8 codificacin.
Para leer archivos de Windows codificados con ANSI debe usar el conjunto de caracteres ISO-8859-1.
Si necesita escribir archivos para su uso con Windows tambin se debe utilizar el conjunto de caracteres ISO-8859-1.
Para leer o escribir archivos con una codificacin diferente que debe utilizar los objetos TextReader o TextWriter
con los mtodos de Initialize2. Incluso para leer archivos csv.
13 Lenguaje basic 192 Basic4Android Gua del principiante
O
Codificacin de leer todo el archivo con TextReader.Initialize2 y \"ISO-8859-1\".
Guardarlo con TextWriter.Initialize con la codificacin estndar de Android.
Lea el archivo LoadCSV o LoadCSV2 de la biblioteca StringUtils.
13 Lenguaje basic 193 Basic4Android Gua del principiante
13.11 Listas
Las listas son similares a los arreglos dinmicos, descripciones detalladas de todas las funciones son en el captulo lista.
A menudo se utilizan listas y muchos ejemplos pueden encontrarse en los ejemplos de cdigo:
StringUtils LoadCSV, SaveCSV
Mdulo DBUtils InsertMaps, UpdateRecord, ExecuteMemoryTable, ExecuteSpinner,
ExecuteListView, ExecuteHtml, ExecuteJSON
Mdulo de grficos para sostener las diferentes variables.
Initialize2 (unamatriz)
Inicializa una lista con los valores indicados. Este mtodo se debe utilizar para convertir matrices a listas.
Tenga en cuenta que si se pasa una lista a este mtodo y luego ambos objetos compartirn la misma lista y si
se pasa una matriz de que la lista ser de un tamao fijo.
Lo que significa que ms tarde no se puede agregar o quitar elementos.
Ejemplo 1:
Dim List1 como lista
List1.Initialize2 (matriz como Int (1, 2, 3, 4, 5))
Ejemplo 2:
Dim List1 como lista
Dim SomeArray(10) As String
' Llenar la matriz
List1.Initialize2(SomeArray)
Una lista puede contener cualquier tipo de objeto. Sin embargo, si una lista es declarada como un objeto global del proceso n
contener objetos de actividad (como vistas).
Basic4android convierte automticamente matrices regulares en las listas. Cuando se espera un parmetro de la lista
se puede pasar una matriz en su lugar.
Puede utilizar un bucle For para recorrer en iteracin todos los valores:
Para i = 0 To List1.Size - 1
Dim nmero como Int
nmero = List1.Get(i)
...
Siguiente
Puede ordenarse una lista (deben encontrarse los elementos todos nmeros o cadenas) con:
Orden (ascendente As Boolean)
List1.Sort(true) orden ascendente
List1.Sort(false) Ordenar descendente
SortCaseInsensitive (ascendente As Boolean)
13.12 Mapas de
Un mapa es una coleccin que contiene pares de claves y valores, son descripciones detalladas de todas las funciones
en el captulo de mapa.
Las claves son nicas. Lo que significa que si agrega un par de clave\/valor (entrada) y la coleccin
ya tiene una entrada con la misma clave, la entrada anterior se eliminar del mapa.
La clave debe ser una cadena o un nmero. El valor puede ser cualquier tipo de objeto.
Similar a una lista, un mapa puede contener cualquier objeto, sin embargo, si es una variable global del proceso no
contener objetos de actividad (como vistas).
Comprobar si un mapa contiene en entrada, comprueba si existe una entrada con la clave dada:
ContainsKey (clave como objeto)
Si Map1.ContainsKey(\"Language\") entonces
MsgBox (\"Ya hay una entrada con esta tecla!\", \"Atencin\")
Retorno
End If
13 Lenguaje basic 196 ArgumentException: The incoming token has e
Archivo. ReadMap2 (Dir como cadena, nombre de archivo como cadena, mapa como mapa)
Similar a ReadMap. ReadMap2 agrega los elementos del mapa dado.
Mediante el uso de ReadMap2 con un mapa poblado puede forzar el orden de elementos segn sea necesario.
mapSettings = File.ReadMap2 (File.DirInternal, \"settings1.txt\", mapSettings)
14 Grficos \/ dibujo 197 Basic4Android Gua del principiante
14 Grficos \/ dibujo
Llamar BitmapRotated (Bitmap1 como mapa de bits, SrcRect como Rect, DestRect como Rect, grados
Como flotador)
Misma funcin como DrawBitmap, pero con una rotacin de los grados determinados ngulo alrededor de la
Centro de mapa de bits.
DrawCircle (x como flotador, y como Float, Radius como Float, Color como Int, llenado como Boolean,
StrokeWidth como Float)
Dibuja un crculo.
x una y son las coordenadas del centro del crculo y radio el radio de los crculos.
14 Grficos \/ dibujo 198 Basic4Android Gua del principiante
DrawLine (x 1 como flotador, y1 como Float, x 2 como flotar, y2 como Float, Color como Int, StrokeWidth
Como flotador)
Dibuja una lnea recta.
DrawRect (Rect1 como Rect, Color como Int, llenado como Boolean, StrokeWidth como Float)
Dibuja un rectngulo con dado el tamao, color, ancho de lnea y lleno o no.
DrawRectRotated (Rect1 como Rect, Color como Int, llenado como Boolean, StrokeWidth como Float,
Grados como Float)
Mismo que DrawRect pero girada por el ngulo dado
DrawText (texto As String, x como flotador, y como Float, Typeface1 como tipo de letra, TestSize como
Float, Int Align1 como alinear de Color)
DrawTextRotated (texto As String, x como flotador, y como Float, Typeface1 como tipo de letra,
TestSize como Float, Color como Int Align1 como alinear, grados como Float)
14 Grficos \/ dibujo 199 Basic4Android Gua del principiante
Tenemos en el diseo:
3 botones
o
empieza a girar
o
movimiento de paso a paso
o
podemos dejar que gire bien la aguja
o la brjula.
En la funcin de DrawBitmapRotated el mapa de bits gira alrededor del centro de mapas de bits.
Si tuviramos una imagen de la aguja como ste, tendramos que hacer algunos clculos para asegurarse de
gira alrededor del centro de la aguja.
Para evitar estos clculos, el mapa de bits de aguja se ve como esta. Hemos aadido la parte inferior tan
que es el centro de la aguja en el centro del mapa de bits.
En la rutina Activity_Create:
En la rutina btnStep_Click:
En la rutina btnGoStop_Click:
En la rutina btnMode_Click:
El programa no tiene otra finalidad que mostrar lo que puede hacerse con dibujos.
El programa tiene tres paneles que utilizamos como capas y tres botones de ToggleButtons que nos permite
para mostrar u ocultar cada capa.
Layer(0) tiene un fondo gris y las otras dos capas tienen un fondo transparente.
Se puede jugar con los botones para observar las diferentes combinaciones de capas visibles y ocultas.
14 Grficos \/ dibujo 205 Basic4Android Gua del principiante
Se puede jugar con los botones para mostrar las diferentes combinaciones de capas visibles y ocultas.
14 Grficos \/ dibujo 207 Basic4Android Gua del principiante
No hay ningn archivo de diseo, todas las vistas se agregan por cdigo.
Tenemos:
3 Paneles
3 Lienzos
3 ToggleButtons
1 Rect, rectngulo para dibujar rectngulos
1 Mapa de bits, manteniendo la imagen de fondo de la actividad
1 BitmapDrawable, tiene antecedentes de la actividad
diferentes variables utilizadas para el dibujo.
Tenga en cuenta que usar matrices de puntos de vista de tres paneles, lienzos y togglebuttons.
Dim pnlLayer(3) como Panel En lugar deDim pnlLayer0, pnlLayer1, pnlLayer2 como grupo.
En la rutina de Sub Activity_Create nos inicializar las diferentes opiniones y agregarlos a la actividad:
Tenemos:
inicializar el slo si vistas declarcin = True.
cargar el Rose2.jpg archivo de imagen en mapa de bits.
inicializar la imagen de fondo de la actividad.
Establecer imagen de fondo de la actividad
En un bucle:
inicializar los paneles capa.
definimos un EventName individual para cada uno de los tres paneles
utilizamos slo un evento en layout(0).
agregar los paneles a la actividad.
inicializar los lienzos de capa.
Establezca el parmetro de la etiqueta de paneles en el ndice.
dibujar el texto \"La Rosa\" con las tres alineaciones posibles diferentes.
dibujar el punto de referencia para cada texto.
Mirar ms estrecha sobre los textos mostrados vemos la referencia punto para cada texto.
IZQUIERDA
alineacin.
Alineacin al centro.
Alineacin a la derecha.
Dibuje un crculo gris oscuro para borrar el anterior crculo azul y transparente.
conjunto y yc a las nuevas coordenadas de los centros de crculo.
Dibuje un crculo azul y transparente en layer(1).
invalidar pnlLayout(1) para forzar la actualizacin del dibujo.
15 Palabras clave de B4A 213 Basic4Android Gua del principiante
Lista de tipos:
Broca
Fecha y hora
Excepcin
Palabras clave
LayoutValues
Cadena
StringBuilder
Temporizador
15.1 Broca
Bit es un objeto predefinido que contiene mtodos relacionados bit a bit.
Ejemplo:
Dim banderas como Int
Flags = Bit.Or (100, 200)
Eventos:
Ninguno
Miembros:
Ejemplo:
Dim ahora largo
Ahora = DateTime.Now
MsgBox (\"la fecha es:\"
El tiempo es:
Eventos:
Ninguno
Miembros:
Agregar (garrapatas tanto tiempo, aos como meses como Int, Int, das como Int) As Long
TicksPerDay siempre
TicksPerHour siempre
TicksPerMinute siempre
TicksPerSecond siempre
TimeFormat As String
Agregar (garrapatas tanto tiempo, aos como meses como Int, Int, das como Int) As Long
Devuelve un valor de garrapatas que es el resultado de agregar los intervalos de tiempo especificado en el valor determinado
Pasar valores negativos si desea restar los valores.
Ejemplo:
Dim maana As Long
Maana = DateTime.Add (DateTime.Now, 0, 0, 1)
Registro (\"maana es la fecha:\"
TicksPerDay siempre
TicksPerHour siempre
TicksPerMinute siempre
TicksPerSecond siempre
TimeFormat As String
Obtiene o establece el formato utilizado para analizar las cadenas de tiempo.
Consulte esta pgina para los patrones compatibles: formatos.
El modelo predeterminado es HH (23: 45:12 por ejemplo).
15.3 Excepcin
Tiene una excepcin.
Puede acceder a la ltima excepcin llamando al LastException.
Por ejemplo:
Trate de
Dim en como InputStream
in = File.OpenInput (File.DirInternal, \"SomeMissingFile.txt\")
'...
Captura
Log(LastException.Message)
End Try
En caso.IsInitialized entonces en.Cerrar
15 Palabras clave de B4A 218 Basic4Android Gua del principiante
Eventos:
Ninguno
Miembros:
IsInitialized As Boolean
IsInitialized As Boolean
Eventos:
Ninguno
Miembros:
Matriz
BytesToString (Data() como Byte, StartOffset como Int, longitud como Int, CharSet As String) As String
Captura
cE como doble
CharsToString (Chars() como Char, StartOffset como Int, Int longitud) As String
Continuar
Dim
DoEvents
Salida
ExitApplication
False As Boolean
Para
Si
InputList (elementos como lista, ttulo como cadena, CheckedItem como Int) como Int
Es
LoadBitmapSample (Dir como cadena, nombre de archivo como cadena, MaxWidth como Int, MaxHeight como
15 Palabras clave de B4A 220 Basic4Android Gua del principiante
Msgbox2 (mensaje As String, ttulo como cadena, positivo como cadena, Cancel As String, negativo
Como cadena, icono como android.graphics.Bitmap) como Int
NumberFormat (nmero doble, MinimumIntegers como Int, MaximumFractions como Int) como
Cadena
ProgressDialogHide
Retorno
Seleccione
Sub
True As Boolean
Trate de
Tipo
Hasta
Tiempo
Matriz
Crea una matriz de dimensin nica del tipo especificado.
La sintaxis es: matriz como tipo (lista de valores).
Ejemplo:
Dim Days() As String
Das = Array como cadena (\"Domingo\", \"Lunes\",...)
BytesToString (Data() como Byte, StartOffset como Int, longitud como Int, CharSet como cadena) como
Cadena
Decodifica las matrices de bytes dado como una cadena.
Datos - la matriz de bytes.
StartOffset - el primer byte para leer.
Longitud: nmero de bytes que leer.
CharSet - el nombre del juego de caracteres.
Ejemplo:
Dim s As String
s = BytesToString (Buffer, 0, Buffer.Length, \"UTF-8\")
Captura
Cualquier excepcin que se inicia dentro de un bloque try quedarn retenida en el bloque catch.
Llame a LastException para obtener la excepcin detectada.
Sintaxis:
Trate de
...
Captura
...
End Try
cE como doble
constante e (base de logaritmo natural).
CharsToString (Chars() como Char, StartOffset como Int, Int longitud) As String
Crea una nueva cadena copiando los caracteres de la matriz.
Copiar comienza desde StartOffset y el nmero de caracteres que copian equivale a la longitud.
Continuar
Detiene la ejecucin de la iteracin actual y contina con el siguiente.
Dim
Declara una variable.
Sintaxis:
Declare una variable sola:
Nombre de variable Dim [As tipo]
El tipo predeterminado es la cadena.
Declarar varias variables. Todas las variables sern del tipo especificado.
Dim variable1, variable2,..., [As tipo]
Tenga en cuenta que la sintaxis abreviada slo se aplica a la palabra clave Dim.
Tenga en cuenta que existe una sintaxis abreviada para este mtodo. Cualquier nmero seguido de la cadena 'dip'
se convertir en la misma manera (sin espacios entre el nmero y 'dip').
Por lo que el cdigo anterior es equivalente a:
Button1.Width = 100dip ' dip-> pxeles independientes de densidad
DoEvents
Procesos de mensajes en la cola de mensajes en espera.
Puede llamarse DoEvents dentro de bucles largos para permitir que el programa de eventos de espera del proceso.
Salida
Se cierra el bucle ms interior.
15 Palabras clave de B4A 224 Basic4Android Gua del principiante
ExitApplication
Inmediatamente termina la aplicacin y detiene el proceso.
Mayora de las aplicaciones no debe usar este mtodo y prefieren Activity.Finish que permite que el sistema operativo decidir
Cuando el proceso es asesinado.
False As Boolean
Para
Sintaxis:
For variable = valor1 a valor2 [intervalo de paso]
...
Siguiente
Ejemplo:
Para i = 1 A 10
Log(i) ' imprimir 1 a 10 (inclusive).
Siguiente
Si la variable de iteracin no se declar antes de que sea de tipo int.
Ejemplo:
Log(GetDeviceLayoutValues)
Si
Sola lnea:
Si condicin entonces true-declaracin [false-instruccin Else]
Multiline:
Si condicin entonces
Declaracin
Else If condicin entonces
Declaracin
...
Else
Declaracin
End If
InputList (elementos como lista, ttulo como cadena, CheckedItem como Int) como Int
Muestra un cuadro de dilogo modal con una lista de elementos y botones de radio. Pulsando sobre un elemento se cerrar el
cuadro de dilogo.
15 Palabras clave de B4A 225 Basic4Android Gua del principiante
Devuelve el ndice del elemento seleccionado o DialogResponse.Cancel si el usuario presiona en la parte posterior
clave.
Lista - elementos para mostrar.
Title - Ttulo del dilogo.
CheckedItem - el ndice del elemento que ser seleccionado en primer lugar. Pasar -1 Si no hay ningn elemento debe ser
preseleccionados.
Es
Pruebas si el objeto si del tipo dado.
Ejemplo:
Para i = 0 To Activity.NumberOfViews - 1
Si Activity.GetView(i) es botn entonces
Dim b como botn
b = Activity.GetView(i)
b.color = Colors.Blue
End If
Siguiente
LoadBitmapSample (Dir como cadena, nombre de archivo como cadena, MaxWidth como Int, MaxHeight como
Int) como mapa de bits
Carga el mapa de bits.
El decodificador subsample el mapa de bits si MaxWidth o MaxHeight es ms pequeo que el mapa de bits
dimensiones.
Esto puede ahorrar un montn de memoria al cargar imgenes grandes.
Ejemplo:
15 Palabras clave de B4A 226 Basic4Android Gua del principiante
Msgbox2 (mensaje As String, ttulo como cadena, positivo como cadena, Cancel As String,
Negativo como cadena, icono como android.graphics.Bitmap) como Int
Muestra un cuadro de mensaje modal con el mensaje especificado y el ttulo.
Mensaje - el mensaje del cuadro de dilogo.
Ttulo - el ttulo del cuadro de dilogo.
Positivo - el texto a mostrar para el botn de \"positivo\". Pasar \"\" si no desea mostrar el botn.
Cancelar - el texto a mostrar para el botn \"Cancelar\". Pasar \"\" si no desea mostrar el botn.
Negativo - el texto a mostrar para el botn de \"negativo\". Pasar \"\" si no desea mostrar el botn.
Icono - un mapa de bits que se dibujarn cerca el ttulo. Pasar Null si no desea mostrar un icono.
Devuelve uno de los valores de DialogResponse.
Ejemplo:
Dim resultado como Int
resultado = Msgbox2 (\"Este es el mensaje\", \"Este es el ttulo\",
\"Bueno\", \"\", \"Bad\", LoadBitmap (File.DirAssets, \"smiley.gif\"))
Si resultado = DialogResponse.Positive Then...
Una sintaxis abreviada para este mtodo est disponible. Cualquier nmero seguido de la cadena '% x'
se convertir en la misma manera (sin espacios entre el nmero y '% x').
Por lo que el cdigo anterior es equivalente a:
Button1.Width = 50% x
Una sintaxis abreviada para este mtodo est disponible. Cualquier nmero seguido de la cadena '% y'
se convertir en la misma manera (sin espacios entre el nmero y '% y').
Por lo que el cdigo anterior es equivalente a:
Button1.Height = 50% y
ProgressDialogHide
Esconde un cuadro de dilogo de progreso visible. No hacer nada si no hay dilogo de progreso es visible.
Retorno
Devuelve desde el actual sub y opcionalmente devuelve el valor dado.
Sintaxis: Retorno [valor]
Seleccione
Compara un valor nico para varios valores.
Seleccionados bloques no se pueden anidar.
Ejemplo:
Dim valor como Int
valor = 7
Seleccionar valor
Caso 1:
Log(\"One\")
Caso 2, 4, 6, 8:
Log(\"Even\")
Caso 3, 5, 7, 9:
Registro (\"impar ms grande que uno\")
Otro caso
Registro (\"mayor que 9\")
End Select
Sub
Declara un sub con los parmetros y el tipo de valor devuelto.
Sintaxis: Nombre de Sub [(lista de parmetros)] [como tipo de retorno]
Los parmetros incluyen el nombre y tipo.
Las longitudes de matrices de dimensiones no deben incluirse.
Ejemplo:
Sub MySub (FirstName como cadena, LastName como cadena, edad como Int,
OtherValues() como doble) como Boolean
...
End Sub
En este ejemplo, OtherValues es la matriz de una sola dimensin.
La declaracin de tipo de valor devuelto es diferente a otras declaraciones como el parntesis de matriz siguen las
tipo y no
el nombre (que en este caso no existe).
True As Boolean
Trate de
Cualquier excepcin que se inicia dentro de un bloque try quedarn retenida en el bloque catch.
Llame a LastException para obtener la excepcin detectada.
Sintaxis:
Trate de
...
Captura
15 Palabras clave de B4A 230 Basic4Android Gua del principiante
...
End Try
Tipo
Declara una estructura.
Slo puede utilizarse dentro de sub Globals o sub Process_Globals.
Sintaxis:
Escriba el nombre de tipo (campo1, Campo2,...)
Campos incluyen nombre y tipo.
Ejemplo:
Tipo MyType (Name As String, Items(10) como Int)
Dim a, b como MyType
a.Initialize
a.Items(2) = 123
Hasta
Bucles hasta que la condicin es verdadera.
Sintaxis:
Do Until condicin
...
LOOP
Tiempo
Bucles mientras la condicin es verdadera.
Sintaxis:
Mientras que la condicin
...
LOOP
15.5 LayoutValues
Contiene valores relacionados con la pantalla.
Puede obtener los valores de la la pantalla actual llamando al GetDeviceLayoutValues.
Por ejemplo:
Dim lv como LayoutValues
LV = GetDeviceLayoutValues
Log(LV) ' imprimir los valores en el registro
Activity.LoadLayout y Panel.LoadLayout devolver un objeto LayoutValues con el
los valores de la
variante de diseo elegido.
Eventos:
Ninguno
Miembros:
toString As String
15 Palabras clave de B4A 231 Basic4Android Gua del principiante
toString As String
15.6 Cadena
Las cadenas son inmutables en Basic4android, lo que significa que puede cambiar el valor de una cadena
variables pero usted no puede cambiar el texto almacenado en un objeto string.
Por lo que mtodos como la subcadena, Trim y ToLowerCase devolucin una cadena nueva, no cambian la
valor de la cadena actual.
Uso tpico:
Dim s As String
s = \"texto\"
s = s.Replace (\"a\", \"b\")
Si usted necesita una cadena mutable, puede usar StringBuilder.
Tenga en cuenta que los literales de cadena son tambin objetos string:
Registro (\"texto\".Trim)
Eventos:
Ninguno
Miembros:
Ejemplos:
\"abc\".CompareTo(\"da\") ' < 0
\"abc\".CompareTo(\"Abc\") ' > 0
\"abc\".CompareTo(\"abca\")' < 0
Ejemplo:
\"012345\".SubString(2) ' devuelve \"2345\"
Ejemplo:
\"012345\".SubString2(2, 4) ' devuelve \"23\"
15.7 StringBuilder
StringBuilder es una cadena mutable, a diferencia de las cadenas regulares que son inmutables.
StringBuilder es especialmente til cuando necesita concatenar cadenas de muchos.
El cdigo siguiente muestra el aumento de rendimiento de StringBuilder:
As Long Dim Inicio
Inicio = DateTime.Now
' Cadena regular
Dim s As String
Para i = 1 A 5000
s = s
15 Palabras clave de B4A 234 Basic4Android Gua del principiante
Siguiente
Registro (DateTime.Now - start)
' StringBuilder
Inicio = DateTime.Now
Dim sb como StringBuilder
SB.Inicializar
Para i = 1 A 5000
SB.Append(i)
Siguiente
Registro (DateTime.Now - start)
Probado en un dispositivo real, la primera 'bucle' for tard unos 20 segundos y el segundo tom menos de la dcima
de un segundo.
La razn es que el cdigo: s = s crea una nueva cadena en cada iteracin (cadenas son
inmutable).
El mtodo StringBuilder.ToString convierte el objeto en una cadena.
Eventos:
Ninguno
Miembros:
Inicializar
IsInitialized As Boolean
Inicializar
Inicializa el objeto.
Ejemplo:
Dim sb como StringBuilder
SB.Inicializar
SB.Append (\"el valor es:\").Append(SomeOtherVariable).Append(CRLF)
IsInitialized As Boolean
15.8 Temporizador
Un objeto Timer genera eventos de garrapatas en los intervalos especificados.
Utilizando un temporizador es una buena alternativa a un bucle largo, ya que permite que el subproceso de la interfaz de us
y mensajes.
Tenga en cuenta que los eventos del temporizador no disparar mientras el subproceso de la interfaz de usuario est ocupa
Llame a palabra clave DoEvents).
El temporizador de la propiedad Enabled se establece en False de forma predeterminada. Para hacerlo debe cambiarlo empie
en True.
Eventos del temporizador no se activar cuando se detiene la actividad, o si es un dilogo de bloqueo (como Msgbox)
visible.
Temporizadores deben declararse en Sub Process_Globals. De lo contrario puede obtener varios temporizadores
ejecutando cuando se recrea la actividad.
Tambin es importante desactivar el temporizador cuando la actividad es una pausa y luego activarlo cuando se
se reanuda. Esto ahorra CPU y batera.
Eventos:
Garrapata
Miembros:
Intervalo de tiempo
Ejemplo:
Timer1.Initialize (\"Timer1\", 1000)
Timer1.Enabled = True
Sub Timer1_Tick
' Controlar eventos de graduacin
End Sub
Intervalo de tiempo
Obtiene o establece el intervalo entre tick eventos, medidos en milisegundos.
16 Views 237 Basic4Android Gua del principiante
16 Views
Lista de tipos:
Actividad
Botn
Casilla de verificacin
EditText
ImageView
Etiqueta
ListView
Panel
ProgressBar
RadioButton
ScrollView
SeekBar
Spinner
TabHost
ToggleButton
Vista
Vista Web
16.1 Actividad
Cada mdulo de actividad incluyen un objeto predefinido de actividad.
La actividad es el componente principal de la aplicacin.
Las actividades han relacionado tres ciclo de vida especial evento: Activity_Create, Activity_Resume y
Activity_Pause.
Ver este tutorial para obtener ms informacin acerca de las actividades y procesos de ciclo de vida: tutorial de ciclo de vida.
Puede agregar y quitar vistas a esta actividad con los mtodos AddView y RemoveViewAt.
Tambin puede cargar un archivo de diseo con LoadLayout.
El evento Touch puede utilizarse para manejar toques de usuario.
El primer parmetro de este evento es el parmetro de accin. Los valores de parmetro pueden ser
ACTION_DOWN,
ACTION_MOVE o ACTION_UP. Utilice este valor para encontrar la accin del usuario actual.
El evento KeyPress se produce cuando el usuario ha presionado la tecla y suponiendo que no hay otra vista
ha consumido este evento (como EditText).
Al manipular el evento KeyPress debe devolver un valor booleano que indica si la tecla
evento de prensa fue consumida.
Por ejemplo si el usuario presiona la tecla atrs y le devuelve verdadero, entonces el SO no cerrar su
actividad.
Eventos:
Toque (accin como Int, X como flotador, Y como Float)
KeyPress (KeyCode como Int) As Boolean ' devolver true si desea consumir el evento
Haga clic en
LongClick
Miembros:
AddView (vista como android.view.View, izquierda como Int, Top como Int, ancho como Int, altura como Int)
BringToFront
Acabado
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
16 Views 239 Basic4Android Gua del principiante
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
...
Sub OpenFile_Click
...
End Sub
AddView (vista como android.view.View, izquierda como Int, Top como Int, ancho como Int, altura como
Int)
Agrega una vista a esta actividad.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Acabado
Cierra esta actividad.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.2 Botn
Eventos:
16 Views 242 Basic4Android Gua del principiante
Abajo
Arriba
Haga clic en
LongClick
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Texto As String
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
16 Views 244 Basic4Android Gua del principiante
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Texto As String
Una vista de la casilla de verificacin. A diferencia de los botones de opcin cada casilla puede comprobarse de forma inde
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
CheckedChange (marcada As Boolean)
Miembros:
BringToFront
Comprobar As Boolean
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Texto As String
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
16 Views 246 Basic4Android Gua del principiante
Comprobar As Boolean
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
16.4 EditText
EditText es una vista que permite al usuario escribir texto libre (similar al control TextBox de formularios Windows Forms).
El EditText tiene dos modos; Previsualiza y MultiLine. Puede establecer que sea multilnea llamando
EditText1.SingleLine = False
En la mayora de los dispositivos el teclado en pantalla mostrar automticamente cuando el usuario presiona sobre el EditTex
Puede cambiar la propiedad InputType y cambiar el tipo de teclado que aparece.
Por ejemplo: EditText1.InputType = EditText1.INPUT_TYPE_NUMBERS causar
el teclado numrico para aparecer cuando
el usuario presiona el EditText. Tenga en cuenta que tambin causar el EditText aceptar slo nmeros.
El evento TextChanged se activa siempre que los cambios de texto e incluye las cadenas nuevas y viejas.
El evento EnterPressed se activa cuando el usuario presiona la tecla enter o la tecla de accin (hecho o siguiente).
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
TextChanged (antiguo como cadena, de nuevo como cadena)
EnterPressed
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SelectAll
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Texto As String
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SelectAll
Selecciona todo el texto.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Texto As String
16.5 ImageView
Eventos:
Haga clic en
LongClick
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
16 Views 254 Basic4Android Gua del principiante
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.6 Etiqueta
Eventos:
Haga clic en
LongClick
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Texto As String
16 Views 256 Basic4Android Gua del principiante
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
16 Views 257 Basic4Android Gua del principiante
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Texto As String
16.7 ListView
ListView es una vista muy til que puede manejar las listas de grandes y pequeas.
El control ListView provoca dos eventos. ItemClick se provoca cuando se hace clic en un elemento y es ItemLongClick
provoca cuando un elemento est seleccionado y celebrado.
Consulte el tutorial de ListView para obtener ms informacin.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
ItemClick (posicin como Int, valor como objeto)
ItemLongClick (posicin como Int, valor como objeto)
Miembros:
AddTwoLinesAndBitmap (Text1 como cadena, Text2 como cadena, mapa de bits como
Android.Graphics.Bitmap)
16 Views 259 Basic4Android Gua del principiante
BringToFront
Claro
FastScrollEnabled As Boolean
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
AddTwoLinesAndBitmap (Text1 como cadena, Text2 como cadena, mapa de bits como
Android.Graphics.Bitmap)
Agrega un dos lneas y un elemento de mapa de bits.
Ejemplo:
ListView1.AddTwoLinesAndBitmap (\"Primera lnea\", \"Segunda lnea\",
LoadBitmap (File.DirAssets, \"SomeImage.png\"))
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
16 Views 261 Basic4Android Gua del principiante
Claro
Borra todos los elementos de la lista.
FastScrollEnabled As Boolean
Obtiene o establece si el icono de desplazamiento rpido aparecer cuando el usuario desplaza a la lista.
El valor predeterminado es false.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
16 Views 262 Basic4Android Gua del principiante
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.8 Panel
Eventos:
Toque (accin como Int, X como flotador, Y como Float)
Haga clic en
LongClick
Miembros:
AddView (vista como android.view.View, izquierda como Int, Top como Int, ancho como Int, altura como Int)
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
16 Views 264 Basic4Android Gua del principiante
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
AddView (vista como android.view.View, izquierda como Int, Top como Int, ancho como Int, altura como
Int)
Agrega una vista a este panel.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
16.9 ProgressBar
Una vista de la barra de progreso. La propiedad de progreso establece el valor de progreso que es entre 0 a 100.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
Ninguno
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
16 Views 267 Basic4Android Gua del principiante
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
16 Views 268 Basic4Android Gua del principiante
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.10 RadioButton
Una vista de RadioButton. Puede comprobarse slo un RadioButton en un grupo. Cuando un diferente
RadioButton se comprueba que todos los dems sern
automticamente estar desactivada. Agrupacin se realiza mediante la adicin de botones de opcin para la misma actividad o
panel.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
CheckedChange (marcada As Boolean)
Miembros:
BringToFront
Comprobar As Boolean
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Texto As String
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Comprobar As Boolean
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
16 Views 271 Basic4Android Gua del principiante
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Texto As String
16.11 ScrollView
ScrollView es una vista que contiene otras vistas y permite al usuario desplazarse verticalmente esas opiniones.
Consulte el tutorial de ScrollView para obtener ms informacin.
El ScrollView tiene un panel interior que contiene las opiniones del nio.
Puede agregar vistas llamando al: ScrollView1.Panel.AddView(...)
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
16 Views 272 Basic4Android Gua del principiante
Ninguno
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.12 SeekBar
Una vista que permite al usuario establecer un valor arrastrando un control deslizante. Similares para WinForms TrackBar.
El evento ValueChanged se produce siempre que se cambia el valor. El parmetro UserChanged puede
utilizarse para distinguir entre cambios realizadas por el usuario y hecho mediante programacin.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
ValueChanged (valor como Int, UserChanged As Boolean)
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.13 Spinner
Una lista plegada que se abre cuando el usuario hace clic en ella y permite al usuario seleccionar un elemento. Similar a
ComboBox de formularios Windows Forms.
Se provoca el evento de ItemClick cada vez que un usuario presiona sobre un tema (incluso si es el ya seleccionados
elemento).
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
ItemClick (posicin como Int, valor como objeto)
Miembros:
BringToFront
Claro
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
16 Views 278 Basic4Android Gua del principiante
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
16 Views 279 Basic4Android Gua del principiante
Claro
Borra todos los elementos.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
16 Views 280 Basic4Android Gua del principiante
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.14 TabHost
TabHost es una vista que contiene varias pginas de ficha. Cada pgina contiene otras vistas de nio.
Consulte el tutorial de TabHost para obtener ms informacin.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
TabChanged
Haga clic en
LongClick
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
16 Views 284 Basic4Android Gua del principiante
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.15 ToggleButton
Una vista de ToggleButton. Este punto de vista que es similar a un botn tiene dos modos: encendido y apagado.
Cuando el usuario presiona sobre ella, cambiar su modo.
Puede establecer el texto con las propiedades TextOn y TextOff.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
CheckedChange (marcada As Boolean)
Miembros:
BringToFront
Comprobar As Boolean
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
TextOff As String
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Comprobar As Boolean
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
TextOff As String
Obtiene o establece el texto que aparecer en el modo OFF.
16.16 Vista
Vista es un tipo especial de objeto. No puede crear nuevos objetos de la vista. Sin embargo todos los dems tipos de vista
puede asignarse a una variable de la vista.
Esto le permite acceder a las propiedades compartidas de todas las vistas.
Por ejemplo, este cdigo oculta todas las vistas de una actividad:
Para i = 0 To Activity.NumberOfViews - 1
Dim v como vista
v = Activity.GetView(i)
v.Visible = False
Siguiente
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Eventos:
Haga clic en
LongClick
Miembros:
BringToFront
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
16 Views 290 Basic4Android Gua del principiante
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
16.17 WebView
La vista de vista Web utiliza el motor interno de WebKit para mostrar pginas Html.
La pgina que aparece puede ser una pgina en lnea cargada con LoadUrl o un Html cadena cargado con
LoadHtml.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Permisos:
Android.Permission.Internet
Eventos:
Ninguno
Miembros:
Atrs
BringToFront
Avance
Invalidar
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
JavaScriptEnabled As Boolean
RemoveView
RequestFocus As Boolean
SendToBack
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
ZoomEnabled As Boolean
Atrs
Vuelve a la direccin Url anterior.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Avance
Va hacia adelante a la siguiente direccin Url.
Invalidar
Invalida la vista toda forzando la vista para dibujar a s mismo.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
Invalida el rectngulo dado.
Dibujar slo suceder cuando el programa puede procesar los mensajes. Generalmente cuando termina
ejecutando el cdigo actual.
IsInitialized As Boolean
JavaScriptEnabled As Boolean
Obtiene o establece si JavaScript est habilitado.
JavaScript est habilitado de forma predeterminada.
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
Intenta ajustar el enfoque a esta vista.
Devuelve True si el foco se estableci.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
ZoomEnabled As Boolean
Obtiene o establece si est habilitada la caracterstica de zoom interno.
La funcin de zoom est activada por defecto.
17 Colecciones de 294 Basic4Android Gua del principiante
17 Colecciones
Lista de tipos:
Lista
Mapa
17.1 Lista
Las listas son similares a los arreglos dinmicos. Puede agregar y quitar elementos de una lista y cambiar su
tamao en consecuencia.
Una lista puede contener cualquier tipo de objeto. Sin embargo, si una lista es declarada como un objeto global del proceso n
contener objetos de actividad (como vistas).
Basic4android convierte automticamente matrices regulares en las listas. Cuando se espera un parmetro de la lista
se puede pasar una matriz en su lugar.
Por ejemplo:
Dim List1 como lista
List1.Initialize
List1.AddAll (matriz como Int (1, 2, 3, 4, 5))
Utilice el mtodo Get para obtener un elemento de la lista.
Las listas pueden ser guardadas y carga de archivos usando File.WriteList y File.ReadList.
Puede utilizar un bucle For para recorrer en iteracin todos los valores:
Para i = 0 To List1.Size - 1
Dim nmero como Int
nmero = List1.Get(i)
...
Siguiente
Eventos:
Ninguno
Miembros:
Claro
Inicializar
IsInitialized As Boolean
Claro
Quita todos los elementos de la lista.
Inicializar
Inicializa una lista vaca.
17 Colecciones de 296 Basic4Android Gua del principiante
IsInitialized As Boolean
Ejemplo:
Sub Process_Globals
Persona de tipo (nombre As String, Int edad)
End Sub
17.2 Mapa
Una coleccin que contiene pares de claves y valores. Las claves son nicas. Lo que significa que si agrega
un par de clave\/valor (entrada) y la coleccin ya tiene una entrada con la misma clave, el anterior
se eliminar la entrada del mapa.
Obtencin de un elemento se realiza buscando su clave. Esto suele ser una operacin muy rpida o (1 () en comparacin con
a O(n) en una lista).
La clave debe ser una cadena o un nmero. El valor puede ser cualquier tipo de objeto.
Tenga en cuenta que esta aplicacin de mapa devuelve los elementos en el mismo orden como se agregaron.
Normalmente utilizar poner agregar elementos y Get o GetDefault para obtener los valores basados en la clave.
Si usted necesita recorrer en iteracin todos los elementos puede utilizar un bucle For como:
Para i = 0 To Map1.Size - 1
Dim clave, valor As String
Clave = Map1.GetKeyAt(i)
Valor = Map1.GetValueAt(i)
Siguiente
Similar a una lista, un mapa puede contener cualquier objeto, sin embargo, si es una variable global del proceso no
contener objetos de actividad (como vistas).
Los mapas son muy tiles para almacenar la configuracin de aplicaciones.
Puede guardar y cargar los mapas con File.WriteMap y File.ReadMap.
Eventos:
Ninguno
Miembros:
Claro
GetDefault (clave como objeto, por defecto como objeto) como objeto
Inicializar
IsInitialized As Boolean
Claro
Borra todos los elementos del mapa.
GetDefault (clave como objeto, por defecto como objeto) como objeto
Devuelve el valor del elemento con la clave dada. Si no existe ningn elemento es el valor predeterminado especificado
regres.
Inicializar
Inicializa el objeto.
Ejemplo:
Dim Map1 As mapa
Map1.Initialize
IsInitialized As Boolean
17 Colecciones de 300 Basic4Android Gua del principiante
UBU B4A
=== ===
controles Vistas (botn, edittext, etiqueta, etc.).
En la ventana de cdigo de VB6, la lista desplegable izquierda superior contiene todos
los controles que has colocado en el formulario actual y la lista de la derecha
contiene todos los eventos para cada control. El equivalente en B4A puede
se encuentra haciendo clic en diseador - herramientas - generar miembros. Vez
han creado Subs en el programa de codificacin de la ventana, los ficha \"mdulos\"
en el lado derecho aparecer una lista cada uno de los Subs.
Dim\/ReDim:
---------
Dim Array(n) Dim Array(n+1)
Mientras que \"n\" es el ltimo nmero de ndice en VB6, que indica el nmero
de elementos de la matriz cuando se utiliza en B4A. Por ejemplo, para atenuar una matriz
con 0-32 elementos en VB6, diras Dim A(32), mientras que para convertir
Esto para B4A, necesita cambiar a Dim A(33), sin embargo, es ndice # 33
nunca usado (hacerlo as podra ocasionar un error fuera de rango).
ReDim Array() Dim Array(n+1)--para borrar una matriz, slo Dim lo nuevo.
Colores:
------
18 VB6 versus B4A 60W Basic4Android Gua del principiante
Llamar a un sub:
-------------
SubName x, y SubName (x, y)
General:
-------
DoEvents mismo, excepto Erel dice:
\"Llamar a DoEvents en un bucle consume muchos recursos y
no permite el sistema procesar todos los mensajes de espera
correctamente\". Esto fue en respuesta a mi sealando que
mientras
en un bucle Do con DoEvents en ella, no poda ser vista Web
cargado
o si cargado, hara clic en proceso no un hipervnculo. Y
Agraham
dice: \"el bucle es mala prctica en dispositivos mviles. La CPU
ser
ejecucin de cdigo y usando la energa de la batera como constantemente la
cdigo nunca pondremos el bucle inactivo OS donde el
hardware
medidas de ahorro de energa se invoca\".
Format() NumberFormat
InputBox($) InputList (elementos como CheckedItem de la lista, el ttulo, como Int) como
Muestra la lista de opciones con los botones de radio. ndice de devoluc
CheckedItem es el valor predeterminado.
InputMultiList (elementos como lista, ttulo) como lista
Usere puede seleccionar varios elementos a travs de las casillas de ve
Devuelve la lista con los ndices de cuadros comprobados.
RND es < 1 RND (min, max) es entero > = min a < mx.
control.SetFocus vista.RequestFocus
TabIndex:
--------
En VB6, TabIndex puede configurarse para controlar el orden en que los controles obtienen foco
Cuando se presiona Tab. Segn Erel, en B4A:
\"Android maneja la secuencia segn su posicin. Puede establecer
EditText.ForceDone = True en todas sus EditTexts. Luego coger la
Evento de EditText_EnterPressed y establecer explcitamente el foco al siguiente
Ver (con EditText.RequestFocus).\"
Constantes:
---------
"" Quote = Chr$(34)
vbCr CRLF = Chr$(13)
vbCrLf ninguno
Cadena miembros:
----------------
VB6 utiliza un puntero de posicin de caracteres comenzando con 1.
B4A utiliza un puntero de ndice de caracteres comenzando con 0.
UBU B4A
MID$ (\"abcde\", 1, 1) = \"a\" = ndice 0--de la matriz de la letra \"a\" = \"abcde\".CharAt(0)
MID$ (\"abcde\", 2, 1) = \"b\" = ndice de la matriz de carta 1
MID$ (\"abcde\", 3, 1) = \"c\" = ndice de matriz Carta 2
MID$ (\"abcde\", 4, 1) = \"d\" = ndice de matriz carta 3
MID$ (\"abcde\", 5, 1) = \"e\" = ndice de matriz carta 4
UBU B4A
=== ===
$ MID (texto, n, 1) texto.CharAt(n-1)
$ MID (texto, n) texto.SubString(n-1)
MID$ (texto, n, x) [x = longitud querido] texto.SubString2 (n-1, n + x-1) [n + x-1 = end
posicin]
MID$ (texto, n, x) = text2 texto = texto.SubString2 (0, n-2)
18 VB6 versus B4A 304 Basic4Android Gua del principiante
Captura de errores:
--------------
VB6:
===
Sub SomeSub
En [Local] Error GoTo ErrorTrap
.. .algunos cdigo...
On Error GoTo 0 [fin opcional en la captura de error]
.. .optional cdigo adicional...
Exit Sub [para evitar la ejecucin de cdigo de ErrorTrap]
ErrorTrap:
.. .optional cdigo de correccin de errores...
Curriculum Vitae [opcional: \"Resume Next\" o \"Resume [etiqueta de lnea]\".
End Sub
B4A:
===
Sub SomeSub
Trate de
.. .algunos cdigo...
Capturas [slo se ejecuta si error anterior]
Log(LastException) [opcional]
.. .optional cdigo de correccin de errores...
End Try
.. .optional cdigo adicional...
End Sub
Con B4A, si obtiene un error atrapado en medio de una subrutina grande, usted
puede
NO hacer una correccin y reanudar dentro del cdigo que se ejecute. Slo el
Cdigo
ejecutado en \"Catch\". Parece que Try-Catch-End Try de uso
principalmente
durante el desarrollo.
VB6 y (ahora) B4A permiten single-paso a paso a travs del cdigo mientras
est funcionando y ver los valores de las variables. VB6 tambin permite cambiar
el valor de las variables, para cambiar el cdigo, saltar a otras lneas de
la lnea actual, etc. Porque B4A se ejecuta en un PC mientras la aplicacin se ejecuta en
un dispositivo separado, B4A es actualmente incapaz de duplicar todos estos
Caractersticas de depuracin de VB6.
19 FAQ DE 306 Basic4Android Gua del principiante
19 PREGUNTAS FRECUENTES
Algunos de los captulos a continuacin han sido recogidos desde el Foro.
Al intentar compilar o abra el diseador veo un mensaje diciendo: \"Por favor guardar cdigo fuente primero.\"
Un nuevo proyecto no tiene una carpeta que contiene hasta que primero est guardado.
Guardar el proyecto y este error desaparecer.
En la parte inferior de esta pgina hay una larga lista con todos los
tipos de objetos.
Se muestra una lista de las bibliotecas oficiales y adicionales con enlaces a los hilos del Foro pertinente en el
B4A Wiki aqu: lista de bibliotecas
ArgumentException:
ArgumentException:
The incoming
The incoming
tokentoken
has expired.
has expired.
Get Get
a new
a new
access
access
token
token
fro
ArgumentException: The incoming token has expired. Get a new access token from the Authorization Se
ArgumentException: The incoming token has expired. Get a new access token from the Authorization Server. : ID
Para poder tener acceso a cualquier vista por su nombre, usted debe Dim en el Globals Sub
rutina.
Sub Globals
Dim lblTitle como etiqueta
y nada ms.
Sub Globals
Dim lblTitle como etiqueta
Lista \/ mapa.
Para dividir una larga lnea en dos o ms lneas pone un carcter de subrayado, separados por un espacio en blanco
carcter, al final de la lnea. Mire el ejemplo en el captulo siguiente.
ANSW = Msgbox2 (\"desea salir del programa\", \"A T T E N T I O N\", \"S\", \"\", \"No\", Null)
Se convierte en:
19.6 Evitar cerrar una aplicacin \/ captura cdigos de tecla como Back \/ men
Sub Activity_KeyPress (KeyCode como Int) As Boolean ' devuelve True para consumir el
evento
Dim Answ como Int
ATENCIN:
La tecla de inicio no puede ser atrapada en el Activity_KeyPress rutina de evento!
19 FAQ DE 309 Basic4Android Gua del principiante
Supongamos que tiene una actividad que contiene varios botones con eventos de clic.
Ahora, agregar un Panel sobre la actividad, cubriendo as los botones. Como toque en el
panel que se ver que fue despedido un evento click de un botn en la actividad.
Esto no es un bug de B4A, por el contrario, puede ser bastante til.
Sin embargo, si esto no es buscado, simplemente aada:
Sub Panel1_Click
' no hacer nada aqu o colocar cdigo a ser ejecutado a golpecitos en el panel
End Sub
Tambin debe tener una mirada a los programas de ejemplo \/ interfaces de usuario.
Ejemplos:
Si a menudo recibe este mensaje \"El proceso tiene tiempo de espera\" puede cambiar su valor:
En el IDE men Herramientas \/ Opciones de IDE haga clic en configurar el tiempo de proceso.
Y cambiar el valor:
19 FAQ DE 311 Basic4Android Gua del principiante
Sub Process_Globals
Dim selector como ContentChooser
End Sub
Sub Globals
End Sub
Para eliminar archivos de proyecto debe utilizar los archivos de la ficha en la esquina inferior derecha del IDE.
En el IDE, men:
Ambos
Retrato
Paisaje
Paisaje
Phone1.SetScreenOrientation(0)
Retrato
Phone1.SetScreenOrientation(1)
Ambos
Phone1.SetScreenOrientation(-1)
19 FAQ DE 313 Basic4Android Gua del principiante
Desde el Foro:
En relacin con el tutorial de 'twoactivities' por Erel, not cuando se presiona el botn posterior de
la principal actividad, Activity2 luego mostr nuevamente.
StartActivity(Main)
Activity.Finish
Usted puede tomar una captura de pantalla del dispositivo o el emulador con el siguiente cdigo:
Las necesidades de la biblioteca de reflexin.
Sub btnScrShot_LongClick
' Tomar una captura de pantalla.
Dim Obj1, Obj2 como Reflector
Dim bmp como mapa de bits
Dim c como lienzo
Ahora, la Dim I As Long
Dim dt As String
DateTime.DateFormat = \"yyMMddHHmmss\"
Ahora = DateTime.now
DT = DateTime.Date(now) ' por ejemplo: \"110812150355\" es Aug.12, 2011, 15:03:55
Obj1.Target = Obj1.GetActivityBA
Obj1.Target = Obj1.GetField(\"vg\")
BMP.InitializeMutable (Activity.Width, Activity.Height)
c.Initialize2(BMP)
Dim args(1) As Object
Dim types(1) As String
Obj2.Target = c
Obj2.Target = Obj2.GetField(\"canvas\")
args(0) = Obj2.Target
Types(0) = \"android.graphics.Canvas\"
Obj1.RunMethod4 (\"dibujar\", args, tipos)
Dim Out As OutputStream
A = File.OpenOutput (File.DirRootExternal, dt
BMP.WriteToStream (Out, 100, \"PNG\")
Out.Close
End Sub
El compilador genera un archivo *.apk que se encuentra en la carpeta de 'Objetos'. Cuando es el IDE
conectado a un dispositivo o en el emulador el archivo apk es automticamente cargado a ella.
El nombre del archivo apk es la 'etiqueta de aplicacin' especificada cuando se ha definido el proyecto.
Ejemplo: GPSExample.apk
Si ha marcado 'Incluir informacin de depuracin' y depurador de acople en el IDE se obtendr un
archivo apk con el sufijo _DEBUG.
Ejemplo: GPSExample_DEBUG.apk
Si desea distribuir la aplicacin debe desactivar estas dos opciones.
19 FAQ DE 314 Basic4Android Gua del principiante
En caso.Entonces IsInitialized
StartActivity(in)
End If
Ejemplo de cdigo.
Dim (1), two(1,2), three(1,2,3) As String
Puede obtener el actual idioma y pas desde un dispositivo con el siguiente cdigo.
Sub GetDefaultLanguage
Dim r como Reflector
r.Target = r.RunStaticMethod (\"java.util.Locale\", \"getDefault\", Null, Null)
Volver a r.RunMethod(\"getDisplayName\")
End Sub
Necesidades de la biblioteca de reflexin (disponible slo para los usuarios que compraron Basic4Android)!
Ejemplos:
El nombre de archivo es el mismo que el nombre de archivo de proyecto principal pero en vez del sufijo .b4a tiene la .apk
sufijo.
Si se introducen caracteres no autorizados, como un espacio, el nombre del archivo apk ser result.apk.
El nombre de apk no tiene ninguna importancia, el nombre que se muestra es el nombre de etiqueta que le dio cuando cre
el proyecto.
19 FAQ DE 316 Basic4Android Gua del principiante
La pregunta: sera bueno poder utilizar Select Case utilizando el 'mayor que' y 'menos'
los operadores <>. Limpiador de cdigo que 'si' hace 'otra cosa' y 'end if' etc..
i = 10
Seleccione True
Caso (me < 9)
Log(\"false\")
Caso (i = 10)
Log(\"true\")
End Select
Sub Globals
Dim numbers(10) como Int
End Sub
El siguiente cdigo detecta la pantalla orientaion, comparando si el ancho de la actividad es mayor que la
altura de la actividad, a continuacin, la orientacin es \"paisaje\" de lo contrario es \"portrait\".
Sub Globals
Dim orientacin como cadena
End Sub
Calculadora de Sub
Dim I As intenciones
i.Initialize (\"\", \"\")
i.SetComponent (\"com.android.calculator2 \/.Calculadora\")
Trate de
StartActivity(i)
Captura
ToastMessageShow (\"Calculadora app no encontrado.\", True)
End Try
End Sub
19 FAQ DE 318 Basic4Android Gua del principiante
Glosario 20
Android Android es una pila de software para dispositivos mviles que incluye un sistema operativo,
aplicaciones de middleware y clave. Google Inc. adquiri, en 2005, Android Inc., la compaa que
inicialmente se desarroll el software.
Java Java es un lenguaje de programacin originalmente desarrollado por James Gosling en el sol
Microsystems (que ahora es una subsidiaria de Oracle Corporation) y lanzado en 1995 como un ncleo
componente de la plataforma Java de Sun Microsystems. El idioma deriva gran parte de su sintaxis de c
y C++, pero tiene un modelo de objetos ms simple y menos instalaciones de bajo nivel.
Actividad Una actividad es algo nico y centrado que el usuario puede hacer. Casi todas las actividades
interactuar con el usuario, por lo que la clase de actividad se encarga de crear una ventana para usted en que usted
puede colocar su interfaz de usuario.
Vista Proporciona clases que exponen clases de interfaz de usuario bsica que manejan el diseo de la pantalla y
interaccin con el usuario. Ejemplos: Etiqueta, Panel, botn, EditText etc..