Académique Documents
Professionnel Documents
Culture Documents
Edicin 2.1
Tabla de contenido
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
4.2.2
4.2.3
4.2.4
Deshacer rehacer
............................................................................................. 53
Collapse a subroutine ............................................................................................. 53
Collapse a Region ..................................................................................................54
Collapse the whole code......................................................................................... 55
4.2.5
4.2.6
Marcadores
4.2.7
Sangra
...................................................... 56
.................................................................................. 56
............................................................................................... 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
............................................................... 68
4.3.2
Archivos
....................................................................................................... 69
4.3.3
Registros
...................................................................................................... 70
4.3.4
Libs
........................................................................................................ 71
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
5
Tabla de contenido
8.2
Tools ........................................................................................................................... 100
8.2.1
Generate Members ............................................................................................... 100
8.2.2
BringTo Front ...................................................................................................... 101
8.2.3
Send To Back....................................................................................................... 101
8.2.4
Duplicate Selected View ...................................................................................... 101
8.2.5
Remove Selected View ........................................................................................ 102
8.2.6
Change grid.......................................................................................................... 102
8.2.7
Conecte el dispositivo o el emulador.................................................................................. 103
8.3
General settings ........................................................................................................... 103
8.4
Image files................................................................................................................... 104
8.5
Properties list............................................................................................................... 105
8.6
Layout variants ............................................................................................................ 107
8.7
The Abstract Designer ................................................................................................. 112
8.7.1
The menu ............................................................................................................. 113
8.7.2
Example............................................................................................................... 114
8.8
Adding views by code.................................................................................................. 117
8.9
Designer Scripts........................................................................................................... 120
9
Actividad y proceso de ciclo de vida............................................................................................. 126
9.1
Cmo maneja? ................................................................................................. 127
9.2
Process global variables............................................................................................... 128
9.3
Activity variables......................................................................................................... 128
9.4
Sub Activity_Create (cumshot As Boolean)............................................................ 128
9.5
Globals versus FirstTime ............................................................................................. 129
9.6
Sub Activity_Resume Sub Activity_Pause (UserClosed As Boolean)...................... 129
10
Variables and objects....................................................................................................... 130
10.1 Variable Types............................................................................................................. 130
10.2 Names of variables ...................................................................................................... 132
10.3 Declaring variables ...................................................................................................... 132
10.3.1
Simple variables................................................................................................... 132
10.3.2
Array variables..................................................................................................... 133
10.3.3
Array of views (objects)....................................................................................... 135
10.3.4
Type variables...................................................................................................... 136
10.4 Casting ........................................................................................................................ 137
10.5 Scope........................................................................................................................... 138
10.5.1
Process variables.................................................................................................. 138
10.5.2
Activity variables................................................................................................. 138
10.5.3
Local variables..................................................................................................... 138
10.6 Tips ............................................................................................................................. 139
11
Modules........................................................................................................................... 140
11.1 Activity modules.......................................................................................................... 141
11.2 Code modules .............................................................................................................. 142
11.3 Service modules........................................................................................................... 143
12
Example programs........................................................................................................... 144
12.1 User interfaces............................................................................................................. 144
12.1.1
Ejemplo de men (UserInterfaceMenu.b4a).................................................... 145
12.1.2
Ejemplo de TabHost (UserInterfaceTabHost.b4a)............................................... 146
12.1.3
Ejemplo de cuadro de herramientas (UserInterfaceButtonToolbox.b4a) el botn........................... 147
12.2 Programa con 3 actividades (ThreeActivityExample.b4a)................................ 148
12.3 ScrollView examples ................................................................................................... 155
12.3.1
Programa de ejemplo ScrollView............................................................................... 156
13
Basic language................................................................................................................. 167
13.1 Program flow............................................................................................................... 167
13.1.1
Process_Globals routine....................................................................................... 167
Tabla de contenido
13.1.2
Globals routine..................................................................................................... 168
13.1.3
Rutina de Activity_Create (cumshot As Boolean).................................................. 168
13.1.4
Activity_Resume routine...................................................................................... 168
13.1.5
Rutina de Activity_Pause (UserClosed As Boolean)........................................... 168
13.2 Expressions.................................................................................................................. 170
13.2.1
Expresiones matemticas............................................................................................ 170
13.2.2
Relational expressions.......................................................................................... 171
13.2.3
Boolean expressions............................................................................................. 171
13.3 Conditional statements................................................................................................. 172
13.3.1
If Then End If................................................................................................. 172
13.3.2
Select Case........................................................................................................ 173
13.4 Loop structures ............................................................................................................ 175
13.4.1
For Next............................................................................................................ 175
13.4.2
Do - Loop ............................................................................................................ 176
13.5 Subs............................................................................................................................. 177
13.5.1
Declaring ............................................................................................................. 177
13.5.2
Calling a Sub........................................................................................................ 177
13.5.3
Llamar a un Sub desde otro mdulo......................... 177
13.5.4
Naming ................................................................................................................ 178
13.5.5
Parameters ........................................................................................................... 178
13.5.6
Returned value ..................................................................................................... 178
13.6 Events.......................................................................................................................... 179
13.7 Libraries ...................................................................................................................... 182
13.7.1
Standard libraries ................................................................................................. 182
13.7.2
Carpeta de bibliotecas adicionales............................................................................................ 182
13.7.3
Mensaje de error \"falta una referencia de la biblioteca?\".......................................... 183
13.8 String manipulation ..................................................................................................... 184
13.9 Timers ......................................................................................................................... 185
13.10
Files......................................................................................................................... 186
13.10.1
File object ........................................................................................................ 186
13.10.2
Filenames......................................................................................................... 188
13.10.3
Subfolders........................................................................................................ 188
13.10.4
TextWriter........................................................................................................ 189
13.10.5
TextReader....................................................................................................... 190
13.10.6
Text encoding................................................................................................... 191
13.11
Lists......................................................................................................................... 193
13.12
Maps........................................................................................................................ 195
14
Graphics \/ Drawing.......................................................................................................... 197
14.1 Overview..................................................................................................................... 197
14.2 Drawing test programs................................................................................................. 199
14.2.1
Plano de rotacin de mapas de bits \/ RotatingNeedle............................................ 199
14.2.2
Simple draw functions.......................................................................................... 204
15
B4A Keywords................................................................................................................ 213
15.1 Bit ............................................................................................................................... 213
15.2 DateTime..................................................................................................................... 214
15.3 Exception..................................................................................................................... 217
15.4 Keywords .................................................................................................................... 218
15.5 LayoutValues............................................................................................................... 230
15.6 String........................................................................................................................... 231
15.7 StringBuilder ............................................................................................................... 233
15.8 Timer........................................................................................................................... 235
16
Views .............................................................................................................................. 237
16.1 Activity........................................................................................................................ 237
Tabla de contenido
Tabla de contenido
Colaboradores principales:
Erel Uziel
(Erel)
Klaus Christl (klaus)
nfordbscndrd
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
Introduccin
Android 1.6 y por encima son compatibles (incluyendo tabletas como Motorola Xoom).
1.1
1 Procedimientos iniciales
1 Procedimientos iniciales
1.2
10
11
-Haga clic en
HVGA):
-Haga clic en
12
-Haga clic en
13
Espere... por primera vez puede tardar varios minutos hasta que est listo el emulador.
14
2. Mi primer programa
15
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.
Vamos al diseo de la interfaz de usuario con el diseador en el emulador y vaya paso
paso a travs de todo el proceso.
2. Mi primer programa
16
Ejecute el IDE
Guarde el proyecto.
Debe guardar el proyecto antes de ejecutar el diseador.
Ejecutar el emulador.
Seleccione el emulador.
2. Mi primer programa
17
Haga clic en
Espere hasta que est listo el emulador, esto tomar bastante tiempo.
Ejecutar el diseador.
2. Mi primer programa
18
2. Mi primer programa
19
2. Mi primer programa
20
Ahora tenemos:
Principal:
mdulo principal
Nombre:
nombre de la vista
Tipo:
tipo de la vista, etiqueta, este parmetro no puede cambiarse por supuesto
Nombre del evento: nombre de la rutina que controla los eventos de la etiqueta
Padre de familia:
la vista padre la etiqueta pertenece a.
Comprobar y modificar los otros parmetros:
A la izquierda, parte superior, la anchura y la altura son OK.
Habilitado, Visible son OK
Etiqueta que dejamos vaca.
Texto, establecemos un nmero predeterminado, decir 5
Tipo de letra, estilo son OK
Alineacin horizontal: pngalo en
CENTER_HORIZONTAL
Alineacin vertical: dejamos
CENTER_VERTICAL.
Tamao: ajstelo a 36
Dejamos todos los otros parmetros como son.
2. Mi primer programa
21
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
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
Colquelo debajo de los tres rtulos y cambiar su nombre a edtResult. 'EDP' EditText y el 'Resultado'
para su propsito.
Cambiemos estos parmetros.
Nombre
a edtResult
Alineacin horizontal
Para
CENTER_HORIZONTAL
Tamao del texto
a 30
Tipo de entrada a los nmeros
Texto de sugerencia
a 'Entrar resultado'
2. Mi primer programa
24
Colquelo debajo de la vista EditText; cambiar el tamao y cambiar siguiendo los parmetros:
Nombre:
a 'btnAction'
Texto:
a 'O K' y
2. Mi primer programa
25
Aadir la ltima etiqueta por los comentarios, colquelo debajo del botn y cambiar su tamao.
Cambiar los siguientes parmetros:
Nombre
a lblComments
Alineacin horizontal:
CENTER_HORIZONTAL
Color del texto a negro
Color
a blanco
Alpha
a 255
2. Mi primer programa
26
Haga clic en
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
La herramienta de generar miembros permite para generar automticamente referencias y marcos de subrutina.
Haga clic en
Haga clic en
2. Mi primer programa
28
-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
-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.
Para ello nos Introduzca el siguiente cdigo:
En Sub Globals aadimos dos variables para los dos nmeros.
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
Si btnAction.Text = \"O K\" Then comprueba si el texto del botn es igual a \"O K\"
2. Mi primer programa
31
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
3 Segundo programa
33
Cambiar el nombre a
B4A.secondprogram, atencin minsculas!
Haga clic en
3 Segundo programa
34
Cambiar el nombre a
SecondProgram.
Haga clic en
3 Segundo programa
35
Haga clic en
Duplicar
3 Segundo programa
36
a lblResult
Texto
a negro
Radio de esquina 5
Color
a blanco
Alpha
a 255
3 Segundo programa
37
3 Segundo programa
38
Haga clic en
3 Segundo programa
39
Haga clic en
para agregar un nuevo botn.
a 10
a 120
a 55
a 55
Etiqueta
Texto
0
0
Tamao
a 24
3 Segundo programa
40
Presiona dibujable
a GradientDrawable
Orientacin a Alto_Bajo
Primer Color
Segundo Color
Etiqueta
Texto
a btn1
1
1
3 Segundo programa
41
btnBS
<
btnOK
Ok
3 Segundo programa
42
3 Segundo programa
43
Haga clic en
Haga clic en
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.
Para tener acceso a los parmetros de la vista que plante la
evento declaramos una variable local vista Dim enviar como botn.
Enviar = Sender.
Y conjunto
Luego a hacer la diferencia entre el botn de retroceso y
el teclado NUMERICO usamos un Select \/ carcasa \/ finalizar Seleccione
estructura y uso el parmetro de la etiqueta de los botones. Recuerde,
Cuando agregamos los diferentes botones establecemos su parmetro de etiqueta
a BS, 0, 1, 2, etc..
Seleccione Send.Tag
Caso \"BS\"
Otro caso
3 Segundo programa
44
lblResult.Text = lblResult.Text
El\"
el botn que provoc el evento.
Ahora aadimos el cdigo para el botn de retroceso.
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).
Ahora la rutina toda est terminada.
3 Segundo programa
45
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.
Permtanos primero modificar la nueva rutina, donde agregamos lnea 55.
3 Segundo programa
46
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.
Modificar lnea 12 como a continuacin:
4 El IDE
47
El IDE
4 El IDE
4.1
48
4.1.1 Toolbar
Genera un nuevo proyecto vaco.
Carga un proyecto.
Guarda el proyecto actual.
Copia el texto seleccionado al Portapapeles.
Corta el texto seleccionado y lo copia en el Portapapeles.
Pega el texto en el Portapapeles en la posicin del cursor.
Deshace la ltima operacin.
Rehace la operacin anterior.
Activa la funcin Buscar y reemplazar.
Establece las lneas seleccionadas como comentarios.
Uncomments las lneas seleccionadas.
Navegar hacia atrs
Navegar hacia delante
Agrega un marcador.
Elimina un marcador.
Volver al marcador anterior.
Avanzar al siguiente marcador.
Funcin de Autocompletar Ctrl + espacio.
Disminuir la sangra de las lneas seleccionadas.
Aumentar la sangra de las lneas seleccionadas.
Se ejecuta el compilador.
Lista de opciones del compilador y depuracin
Lista de rutina
4 El IDE
49
Corte
Portapapeles.
Lnea de corte
Copia
Pasta
posicin.
Deshacer
Rehacer
Encontrar
4 El IDE
50
4 El IDE
51
Vea a continuacin
Guardado automtico
Guarda el programa al ejecutarlo.
Mostrar informacin sobre herramientas en escribir
Mostrar informacin sobre herramientas comprobado.
4 El IDE
52
Haga clic en
para realizar la captura de pantalla
Foto desde el dispositivo o el emulador.
Elimina todos los genera los archivos que se generan durante la compilacin.
4.2
53
Cdigo de rea
deshacer y
para rehacer.
54
55
56
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.
Para definir un marcador, coloque el cursor en el
lnea deseada, 12 en este ejemplo.
Haga clic en .
El signo del marcador se muestra en la izquierda
margen.
Para eliminar un marcador, coloque el cursor
en la lnea y haga clic en
Haga clic en
Haga clic en
En
57
4.2.7 Sangra
Una buena prctica es usar la sangra de las piezas de cdigo.
Por ejemplo para subrutinas, bucles, estructuras, etc..
Este cdigo es difcil de leer porque el
estructura del cdigo no es obvia.
Ejemplo con un
sangra de 4
Personalmente, prefiero un valor
2.
58
Todo bloques de cdigo pueden aplicarse sangra hacia adelante y hacia atrs a la vez.
Cdigo original
59
4.2.8 Autocompletar
Una herramienta muy til es la funcin de Autocompletar.
Ejemplo:
Djenos escribir lblN
Pulse Ctrl + espacio o haga clic en
Al seleccionar un elemento, el
ayuda interna se muestra
Pulsando arriba o abajo
las flechas selecciona la anterior
o procede con su ayuda.
Presionando un personaje actualiza
la lista y muestra la
a partir de parmetros
ese carcter.
La mejor forma de aprenderlo es 'jugar' con ella.
60
Presiona Tab.
61
Y t ests all.
62
63
4.2.11 Depuracin
Para permitir la depuracin le debe activar la opcin de depuracin en la parte superior del IDE.
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.
64
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.
Para distribuir el proyecto se debe compilar con:
Relase
El cdigo de depurador no se agregar al archivo apk.
Liberacin (ofuscado)
El cdigo de depurador no se agregar al archivo apk.
Pero el archivo de programa ser modificado, ver abajo.
Basic4android v1.8 incluye una nueva caracterstica de ofuscacin de cdigo.
Durante la compilacin Basic4android genera cdigo Java que luego se compila con Java
compilador y convertir en Dalvik (formato de cdigo de bytes de Android).
Existen herramientas que permiten la descompilacin del cdigo de bytes de Dalvik en cdigo Java.
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.
Es importante entender cmo funciona el Ofuscador.
El Ofuscador hace dos cosas:
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.
Cambiar el nombre de variables
Los nombres de las variables globales y subs se convierten en cadenas sin sentido. Las variables locales
no se ven afectados, como sus nombres se pierden de todas formas durante la compilacin.
No se cambia el nombre de los siguientes identificadores:
-Identificadores que contienen un carcter de subrayado (requiere para los controladores de eventos).
-Subs que aparecen en las declaraciones de CallSub. Slo si el nombre de sub aparece como una cadena esttica y luego la
identificador se mantendr como est.
-Nombres diseador de vistas.
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.
Se crear un archivo llamado ObfuscatorMap.txt en la carpeta de objetos. Este archivo asigna el
originales nombres de identificadores para los nombres ofuscados. Esta asignacin puede ser til para analizar accidente
informes.
Activar el Ofuscador
Basic4android versin 1.8 hace ms simple elegir el modo de compilacin.
65
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.
66
Ejemplos:
btnAction: tipo = botn izquierdo = Top 190 = 0 Width = altura 115 = 55 Tag = texto vaco = OK
Nmero1 = 6
Variables locales.
Ninguno en este ejemplo.
Flotando con el ratn sobre una vista, sus parmetros como muestra en la lista.
67
4.3
68
Fichas
69
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..
Haga clic en
para agregar archivos a la lista.
Se accede a los archivos de esa carpeta con
File.DirAssets.
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.
Ver captulo archivos para manejo de archivos.
70
4.3.3 Registros
Visualizacin de comentarios de registro generado por el programa cuando se est ejecutando.
Aadimos las dos lneas 51 y 53 en el programa 'SecondProgram' en la rutina del 'Nuevo'.
Ejecute el programa.
Haga clic en
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
Haga clic en
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.
71
4.3.4 Libs
Lista de las bibliotecas disponibles que se pueden utilizar en el proyecto.
Compruebe las bibliotecas que usted necesita para su proyecto.
Asegrese de que tiene la ltima versin de las bibliotecas.
72
Existen muchos tamaos de pantalla diferentes con diferentes resoluciones y densidades de pixel.
Debemos hacer la diferencia entre los siguientes parmetros.
-Tamao de pantalla fsica
Ex: 3,6 '' diagonal
-Resolucin en pxeles
Ex: 320 \/ 480
-Pxeles densidad por pulgada Ex: 160
La pantalla estndar es 320 \/ 480 pxeles, densidad 160 pxeles\/pulgada.
Existen otras pantallas con casi el mismo tamao fsico, pero con una mayor resolucin para
ejemplo 480 \/ 640 pxeles con una densidad de 240 pxeles\/pulgada.
Tabletas tienen mayor tamao fsico pero pueden tener una densidad similar a la pantalla estndar.
Ejemplo: 7.2 '' pantalla diagonal, 640 \/ 960 pxeles y una densidad de 160 pxeles\/pulgada.
Una lista no exhaustiva de las pantallas:
Diagonal
3.6
3.6
3.9
3.6
7.2
10
Resolucin
320 \/ 480
480 \/ 720
480 \/ 800
240 \/ 320
640 \/ 960
720 \/ 1280
Densidad
160
240
240
120
160
160
Escala
1
1.5
1.5
0.75
1
1
W \/ H Ratio
3 \/ 2
3 \/ 2
5 \/ 3
4 \/ 3
3 \/ 2
16 \/ 9
73
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>.
Las diferentes resoluciones son:
Pantalla
resolucin
240 \/ 320
320 \/ 480
480 \/ 800
Densidad
H \/ W ratio
120
160
240
4 \/ 3
3 \/ 2
5 \/ 3
Altura de Eqivalent
pxeles
360
480
720
Pxel diff.
-40
0
+ 80
Y el cdigo es:
74
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.
75
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.
En la primera prueba, el nmero de elementos en el control ListView eran iguales!
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.
76
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.1
77
50% x
50dip
DipToCurrent calcula una dimensin con la longitud dada segn la escala de la actual
dispositivo.
DipToCurrent(50) es igual a 50 * DeviceScale
Puede escribirse como un acceso directo: 50dip pxeles independientes de densidad
La resolucin 'estndar' es 160 dpi (puntos por pulgada) y escala 1.
Sin espacios entre el nmero y dip!
Si tenemos un botn con una dimensin de escala estndar de 50 * 50 pxeles, para definir sus dimensiones nos
debe set Button1.Width = 50dip y Button1.Height = 50dip.
Dependiendo de la escala, la dimensin del botn ser:
Escala
Pxeles
1
50 * 50
1.5
75 * 75
Ejemplo:
Los valores de las propiedades en el diseador de izquierda, superior, ancho y altura son considerados como
valores de la DIP.
5.2
78
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
''
79
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.
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.
80
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
Si Activity.Width > Activity.Height entonces
WB = 100% y \/ 4
pnlToolbox.Left = 100% x - wb
pnlToolbox.Width = wb
pnlToolbox.Height = 100% y
pnlToolbox.Top = 0
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
81
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
btnTest1.Text = \"Prueba 1\"
btnTest1.TextSize = 16 * TextSizeRatio
btnTest2.Text = \"Prueba 2\"
btnTest2.TextSize = 16 * TextSizeRatio
btnTest3.Text = \"Prueba 3\"
btnTest3.TextSize = 16 * TextSizeRatio
btnTest4.Text = \"Prueba 4\"
btnTest4.TextSize = 16 * TextSizeRatio
lblTitle.Text = \"Prueba de diseo\"
lblTitle.TextSize = 20 * TextSizeRatio
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
82
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.
3.5''
5.5''
10''
El cdigo fuente:
Dim I, j, k, nx, ny, x 0, x 1, x 2 como Int
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
83
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.3
84
Orientaciones de pantalla
Phone1.SetScreenOrientation(0)
Retrato
Ambos
Phone1.SetScreenOrientation(1)
Phone1.SetScreenOrientation(-1)
6 El emulador
85
El emulador
6.1
Lanzar un emulador
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
Espere hasta que est listo el emulador, esto tomar bastante tiempo.
6 El emulador
6.2
87
Agreguemos un nuevo emulador con una resolucin de 480 \/ 800 pxeles, densidad 240.
En el administrador de AVD
Haga clic en
Haga clic en
Haga clic en
6 El emulador
88
Haga clic en
Haga clic en
Se aade el nuevo emulador.
6 El emulador
6.3
89
Problemas de emulador
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
6 El emulador
6.4
91
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.
Asegrese de que est ejecutando el emulador.
Ejecute el archivo ddms.bat:
Espere un momento.
6 El emulador
92
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
7 B4A puente
94
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 B4AHerramienta 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.
Getting started with B4A-puente
1. En primer lugar necesita instalar B4A-puente en el dispositivo.
B4A-puente puede descargarse aqu: http:\/\/www.basic4ppc.com\/android\/files\/b4a_bridge.apk.
B4A-puente tambin est disponible en Android market. Buscar: B4A puente.
Tenga en cuenta que se necesita para permitir la instalacin de aplicaciones de \"Fuentes desconocidas\". Esto se hace
elegir la configuracin de la pantalla de inicio - administrar aplicaciones.
2. Ejecutar B4A-puente en su dispositivo. Mostrar una pantalla similar a:
7 B4A puente
95
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:
7 B4A puente
96
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
El diseador
8.1
98
El men
Guardar
Guarda el diseo actual.
Guardar como...Guarda el diseo actual con un nuevo nombre.
Principal
Lista archivo de diseo, en este caso slo un archivo, 'Main'.
agrega un botn
agrega una casilla de verificacin
agrega un EditText
agrega un ImageView
aade una etiqueta
agrega un control ListView
agrega un Panel
agrega un componente ProgressBar
agrega un componente RadioButton
agrega un Scrollview
agrega un SeekBar
agrega una Spinner
agrega un TabHost
agrega un ToggleButton
agrega una vista Web
99
Generador de miembros
Traer al frente
Trae la vista seleccionada al frente
Enviar al fondo
Duplicar seleccionado Vista duplica la vista seleccionada
Quitar de la vista seleccionadaQuita la vista seleccionada
Cuadrcula de cambio Permite cambiar el tamao de la cuadrcula
Conectar al dispositivo se conecta el dispositivo o el emulador
Desconecte el dispositivo se desconecta el emulador o
el dispositivo.
8.2
100
Herramientas
Haga clic en
101
es
La vista se duplica.
102
Se ha quitado la vista.
Nota: Tenga cuidado, no se le pedir si usted
realmente desea eliminar de 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
103
Haga clic en
8.3
para confirmar.
Configuracin general
Muestra el estado del diseador, en este caso la
Diseador est conectado.
8.4
104
Archivos de imagen
Puede agregar archivos de imagen para el diseo.
Haga clic en
8.5
105
Lista de propiedades
Una lista de las propiedades de la vista seleccionada
organizados en grupos.
Todas las propiedades pueden modificarse directamente en el
lista.
Todas las propiedades en el grupo principal y algunos de
las propiedades de los otros grupos son comunes
a todos los tipos de vista.
106
Visible
Este es un marcador de posicin que puede utilizar para almacenar datos adicionales. Etiqueta pued
Etiqueta
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.6
107
Variantes de diseo
Variantes de diseo diferente pueden gestionarse en un mismo archivo de diseo.
108
Seleccione:
480 x 320
escala = 1
Haga clic en
109
110
Para
Ejecute el programa.
El emulador debe tener este aspecto:
111
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.7
112
El diseador de resumen
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.
Emulador
Diseador de resumen
113
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.
Seleccione una resolucin y posicin
las diferentes opiniones segn
las nuevas dimensiones y escala.
Zoom
Dos posibilidades:
50 %
100 %
Herramientas
Cambiar el tamao de forma para adaptarse al diseo.
Agrega el diseo actual como una nueva variante de diseo en el
Diseador.
114
8.7.2 Ejemplo
Tomemos un ejemplo simple con un diseo en el modo de retrato, como la imagen de abajo.
115
Si se selecciona en el diseador
la variante anterior
116
Haga clic en el men de herramientas, cambiar el tamao para encajar diseo de formulario
8.8
117
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.
El cdigo fuente est en el directorio del cdigo fuente: AddViewsByCode
Para las posiciones y dimensiones de las vistas en la pantalla dos opciones especiales estn disponibles:
pxeles independientes de la densidad.
DIP
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
%x y %y
representan las distancias proporcionales a la altura y anchura de la pantalla activa.
20% x = 0.2 * Activity.Width
90% y = 0.9 * Activity.Height
20% x = PerXToCurrent(20)
PerXToCurrent es una palabra clave
%x es el acceso directo
90% y = PerYToCurrent(90)
Ejemplo:
Pongamos una etiqueta encima de la pantalla y un Panel debajo de ella con una etiqueta y un botn en l:
lblTitle.Initialize(\"\")
Inicializa la etiqueta, no EventName requerido.
lblTitle.Color = Colors.Red
Establece el color de fondo en rojo.
lblTitle.TextSize = 20
Establece el tamao del texto a 20.
lblTitle.TextColor = Colors.Blue
Establece el color del texto a azul.
lblTitle.Gravity = Gravity.CENTER_HORIZONTAL + Gravity.CENTER_VERTICAL
btnTest.Initialize(\"btnTest\")
btnTest.Text = \"Prueba\"
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\"
Agrega el botn btnTest para la pnlTest de Panel en la posicin dada y con las dimensiones determinadas en
dips.
Y el resultado:
8.9
120
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.
La idea es combinar la utilidad del diseador visual con la flexibilidad y la potencia de
Cdigo de programacin.
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.
121
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 general de comandos se ejecuta primero seguido del variante script especfico.
El lenguaje de script es muy sencillo y est optimizado para la gestin del diseo.
Permite iniciar con un ejemplo.
122
Ejemplo
En este ejemplo vamos a construir el esquema siguiente:
123
El resultado:
124
125
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
-Anchura \/ altura - Obtiene o establece el ancho o la altura de la vista.
-TextSize - Obtiene o establece el tamao del texto. No debe utilizar unidades 'dip' con este valor como es
ya medido en unidades fsicas.
-Texto - Obtiene o establece el texto de la vista.
Slo estn disponibles para vistas que muestran texto propiedades TextSize y texto.
-Imagen - establece el archivo de imagen (slo escritura). Slo se admite por ImageView.
-Visible - Obtiene o establece la propiedad visible de la vista.
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
-valores %x y %y estn en relacin con la opinin de que el diseo de las cargas.
Generalmente ser la actividad. Sin embargo se utiliza Panel.LoadLayout, ser en relacin con esto
panel.
-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.
126
Comencemos simple:
Cada programa de Basic4android se ejecuta en su propio proceso.
Un proceso tiene un subproceso principal que tambin es llamado el subproceso de la interfaz de usuario que vive tanto tiem
vidas. Un proceso puede tener tambin ms subprocesos que son tiles para tareas en segundo plano.
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.
Las actividades son algo similares a los formularios Windows Forms.
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.1
127
Cmo maneja?
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.
Existen dos tipos de variables globales.
Las variables de procesos y actividad.
9.2
128
9.3
Variables de actividad
9.4
9.5
9.6
Sub Activity_Resume
Sub Activity_Pause (UserClosed As Boolean)
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 3 se interrumpir la actividad, destruido y creado (y reanud) nuevamente.
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
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)
Sistema de tipo de Basic4android se deriva directamente del sistema de tipo de Java.
Existen dos tipos de variables: tipos primitivos y no primitivas.
Primitivas incluyen los tipos numricos: Byte, Short, Int, Long, Float y doble.
Primitivas tambin incluyen: Boolean y Char.
Tipo
Boolean
Byte
entero de 8 bits
Corto
entero de 16 bits
Int
entero de 32 bits
Largo
Flotador
Doble
Char
Cadena
valor mn.
Falso
7
-2
-128
15
-2
-32768
31
-2
-2147483648
63
-2
valor mx.
True
7
2-1
127
15
2 -1
32767
31
2 -1
2147483647
63
2 -1
-9223372036854775808
9223372036854775807
-149
-2
1.4E-45
-1074
-2
2.2250738585072014 E308
-23
127
(2 -2 ) * 2
3.4028235 E 38
-52
1023
(2 -2 ) * 2
1.7976931348623157 e
308
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
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.
Todos los tipos pueden ser tratados como objetos.
Colecciones como listas y mapas de trabajo con objetos y por lo tanto, puede almacenar cualquier valor.
Aqu est un ejemplo de un error comn, donde el desarrollador intenta agregar varios arreglos de discos a una lista:
Dim arr(3) como Int
Dim List1 como lista
List1.Initialize
Para i = 1 A 5
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)) ' lo que se imprimir aqu???
Consejo: Puede utilizar la biblioteca de CollectionsExtra de agraham para copiar una matriz.
10 Variables y objetos
132
10.3
Declarar variables
Los nombres de las variables separaron por comas y seguido por la declaracin de tipo.
10 Variables y objetos
133
Capital
Tenga en cuenta
que paraescribimos slo 1200 porque Capital es un nmero.
Pero paraLastName escribimos SMITH porque LastName es una cadena.
Cadenas siempre deben escribirse entre comillas dobles.
Los arreglos son colecciones de datos u objetos que se pueden seleccionar mediante ndices. Arreglos de discos pueden tener
dimensiones.
LastName, el nmero de
La declaracin contiene la Dim palabra clave seguida por el nombre de la variable
elementos entre parntesis (50), la palabra claveComo
y el tipo de variable Cadena.
Ejemplos:
Matriz de una dimensin de cadenas, el nmero total de elementos de 50.
Matriz de dos dimensiones de dobles, el nmero total de elementos 9.
Matriz de tres dimensiones de enteros, nmero total de elementos 150.
El primer ndice de cada dimensin de una matriz es 0.
LastName(0), Matrix(0,0), Data(0,0,0)
10 Variables y objetos
134
Este ejemplo muestra cmo obtener acceso a todos los elementos de un tres matriz dimensional.
Y la rutina de acceso.
10 Variables y objetos
135
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
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
10 Variables y objetos
10.4
137
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.
10 Variables y objetos
10.5
138
mbito de aplicacin
10 Variables y objetos
10.6
139
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
140
11 Mdulos
Existe al menos un mdulo principal.
Su nombre es siempre principal y no puede cambiarse.
11 Mdulos
11.1
34s
Mdulos de actividad
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.
Puede agregar un mdulo existente o un nuevo mdulo.
Para agregar un nuevo mdulo de actividad haga clic en:
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
11.2
142
Mdulos de cdigo
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
11.3
Mdulos de servicio
143
12 Programas de ejemplo
144
12 Programas de ejemplo
12.1
Interfaces de usuario
Hagamos tres diferentes interfaces de usuario para seleccionar tres pantallas diferentes.
Las interfaces de tres usuario son:
Men
Vista de TabHost
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
12 Programas de ejemplo
146
12 Programas de ejemplo
147
148
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.
149
150
Aadir ahora un nuevo mdulo \"Pgina3\" del mismo modo como pgina2 y modificar el cdigo como a continuacin:
151
152
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.
153
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.
el usuario toca la pantalla.
ACTION_DOWN
el usuario se mueve en la pantalla
ACTION_MOVE
el usuario abandona la pantalla
ACTION_UP
- X
la coordenada x del dedo en la pantalla.
- Y
la coordenada y del dedo en la pantalla.
Para poder mover el pnlMove hacemos lo siguiente:
- Cuando la accin es igual a ACTION_DOWN, el usuario toca la pantalla
nos memorizar las coordenadas de los dedos y las coordenadas de la esquina superior izquierda de
pnlMove (lneas 76 a 79).
-
154
Pgina 1:
Aadimos las vistas como en la imagen de la izquierda.
Similares para la pgina 2 y 3 de la pgina.
Los archivos de diseo estn en el proyecto.
12.3
155
Ejemplos de ScrollView
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.
Algunas imgenes de ejemplos: (un resumen de ejemplos de ScrollView)
Cuadrcula en TableView...ScrollView
SQLLiteDB
Aadir imageview...
ScrollView, diseos...
HelpScrollView
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
156
157
Definir una variable personalizada que contiene un ndice de columna y una fila.
Utilizado para el desplazamiento horizontal.
Utilizado para el desplazamiento horizontal.
Utilizado para el desplazamiento horizontal.
Utilizado para el desplazamiento horizontal.
Utilizado para el desplazamiento horizontal.
Utilizado para el desplazamiento horizontal.
158
159
160
161
162
Nota: al final de una lnea, un carcter de subrayado como en medios de 213 de lnea
'continuar la misma lnea siguiente instruccin'.
163
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.
164
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.
165
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.
SetCell
(no se usa en el programa)
Establece el texto de la etiqueta de la determinada fila y columna.
o Obtiene la vista de la determinada fila y columna
o Establece el parmetro texto de vistas en el valor dado
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
166
13 Lenguaje basic
167
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 noestudiantes 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).
13.1
Flujo de programa
Este es un resumen de las explicaciones ms detalladas en el ciclo de vida del proceso y la actividad.
13 Lenguaje basic
168
13 Lenguaje basic
169
5. Se llama Activity_Resume.
Ningn cdigo.
6. El programa espera un
evento.
7. Si el usuario hace clic en el
Botn btnAction
Es la btnAction_Click Sub
llama y el cdigo dentro de
el Sub es ejecutado.
8. El programa espera
otro evento.
13 Lenguaje basic
170
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).
Ejemplo
Nivel de prioridad
x + y
Adicin
x - y
Resta
x * y
Multiplicacin
\/
x \/ y
Divisin
x y Mod
Mdulo
Poder de
Mod
y
Alimentacin
Power(x,y) x
Operacin
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
(4 + 5) * (3 + 2) = 405
Power(4+5,2)*(3+2)
>9*5
11 Mod 4 = 3
23
Power(23,3)
-2 = - 4
2
(-2) = 4
> 81 * 5
> 23 en el poder de 3
13 Lenguaje basic
171
x=y
<>
y x <>
>
x>y
<
x<y
>=
x>=y
<=
x<=y
Comentario
Booleano o
Y
(No)
Z=XOY
Falso
Falso
Falso
Falso
True
Falso
True
Falso
Falso
True
True
Falso
True
True
True
True
13 Lenguaje basic
13.3
172
Sentencias condicionales
ElseIf
Si.
13 Lenguaje basic
173
Ejemplos:
El valor de la variable es un valor numrico.
El TestExpression es la suma de un + b
El TestExpression es un personaje en
13 Lenguaje basic
174
13 Lenguaje basic
13.4
175
Estructuras de bucle
variable incremental
valor inicial
valor final
paso
palabra clave.
Salida
13 Lenguaje basic
176
VB
Siguiente i
Salida para
En VB:
Siguiente
Palabra clave.
La variable de incremento se aade despus de la
la palabra clave.
Se especifica el tipo de bucle despus deSalida
13.4.2 Do - Loop
Existen varias configuraciones:
pruebaes cualquier expresin
Cdigomientraspruebaes True
Ejecuta el
pruebaes cualquier expresin
Cdigohasta pruebaes True
Ejecuta el
Ejemplos:
Nota: La diferencia entre:
B4A
Salida
VB
Bucle de salida
13 Lenguaje basic
177
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.
Inters
CalcInterest
1235
5,25
En lugar de:
13 Lenguaje basic
178
13.5.4 Nomenclatura
Bsicamente, puede nombrar a un Sub cualquier nombre que es legal para una variable. Se recomienda
CalcInterest en el ejemplo, as que usted puede indicar lo que
nombre del Sub con un nombre significativo, como
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 Lenguaje basic
179
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.
Resumen de los eventos de diferentes puntos de vista:
Pun
GEFinisl d
Tun
a. C.
haESNd
Vun
lUEChaESNd
TeXT
ChaESNd
FOCnosChaESNd
ENT
erPressed
Cl ckedChange
ItemClick
KeyPress
Up
Dujon
TOUC
h
ItemLongClick
Vistas
Actividad
Botn
Casilla de verificacin
EditText
ImageView
Etiqueta
ListView
Panel
RadioButton
SeekBar
Spinner
TabHost
ToggleButton
Vista Web
LongClick
Click
Eventos
13 Lenguaje basic
180
Haga clic en Evento que se provoca cuando el usuario hace clic en la vista.
Ejemplo:
LongClick
Ejemplo:
Evento que se provoca cuando el usuario hace clic en la vista y mantiene pulsado durante un rato.
13 Lenguaje basic
181
13 Lenguaje basic
13.7
182
Bibliotecas
13 Lenguaje basic
183
13 Lenguaje basic
184
espacios en blanco.
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
= 001
NumberFormat (1, 3, 0)
pueden utilizar variables.
NumberFormat (valor, 3, 0)
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 Lenguaje basic
13.9
185
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)
Establece el intervalo del temporizador en milisegundos.
o Intervalo
Timer1. Intervalo = intervalo
Gxx Timer1.Interval = 1000segundo 1
o Habilitado Habilita o deshabilita al temporizador. Es False de forma predeterminada.
Ej.: Timer1.Enabled = True
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 Lenguaje basic
186
13.10 Archivos
Muchas aplicaciones requieren acceso a un almacenamiento persistente. Son los dos tipos ms comunes de almacenamiento
archivos y bases de datos.
13.10.1
Objeto de archivo
13 Lenguaje basic
187
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.OpenInput (Dir como cadena, FileName As String)
-Abre el archivo para lectura.
File.WriteString (Dir como cadena, nombre de archivo como cadena, texto As String)
-Escribe el texto en un archivo nuevo.
File.ReadString (Dir como cadena, FileName As String) As String
-Lee un archivo y devuelve su contenido como una cadena.
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.ReadList (Dir como cadena, FileName As String) como lista
-Lee un archivo y lo almacena cada lnea como un elemento de una lista.
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.
List1 = File.ListFiles(File.DirRootExternal)
13 Lenguaje basic
13.10.2
188
Nombres de archivo
13.10.3
Subcarpetas
13 Lenguaje basic
13.10.4
189
TextWriter
Hay dos otras funciones tiles para archivos de texto: TextWriter y TextReader:
TextWriter.Initialize (OutputStream como OutputStream)
-Inicializa un objeto TextWriter como un flujo de salida.
Ejemplo:
13 Lenguaje basic
13.10.5
190
TextReader
Hay dos otras funciones tiles para archivos de texto: TextWriter y TextReader:
TextReader.Initialize (InputStream como InputStream)
-Inicializa un TextReader como una secuencia de entrada.
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:
List1 = Reader.ReadList
13 Lenguaje basic
13.10.6
191
Codificacin de texto
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).
El carcter predeterminado en Android es Unicode UTF-8.
En Windows el carcter ms comunes conjuntos son ANSII y ANSIS.
ASCII incluye definiciones para 128 caracteres, 33 son caracteres no imprimibles control (ahora
en su mayora obsoletos) que afectan a cmo se procesa el texto y el espacio.
ANSI, Windows-1252 o CP-1252 es un personaje de codificacin del alfabeto latino, utilizado por
por defecto en los componentes heredados de Microsoft Windows en ingls y algunos otros occidentales
idiomas con 256 definiciones (un byte). Los primeros 128 caracteres son los mismos como en la
Codificacin ASCII.
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.
Android puede utilizar el siguiente conjuntos de caracteres:
predeterminado el conjunto de caracteres
UTF-8
UTF -16
SER UTF - 16
UTF - LE
US-ASCII Conjunto de caracteres ASCII
Conjunto de caracteres ISO-8859-1 casi equivalente a la ANSI
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.
Otra diferencia entre Windows y Android es el fin del personaje de lnea:
Android, slo el carcter de LF (Line Feed) Chr(10) se agrega al final de una lnea.
Windows, dos caracteres CR (CHR de retorno de carro y Chr(10) LF se agregan a la
final de una lnea. Si necesita escribir archivos para Windows debe agregar CR usted mismo.
Es el smbolo de final de lnea:
CRLF
Basic4Android
CRLF
Basic4PPC
Chr(10)
Chr(10)
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
13 Lenguaje basic
193
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:
LoadCSV, SaveCSV
StringUtils
InsertMaps, UpdateRecord, ExecuteMemoryTable, ExecuteSpinner,
Mdulo DBUtils
ExecuteListView, ExecuteHtml, ExecuteJSON
para sostener las diferentes variables.
Mdulo de grficos
Una lista debe inicializarse antes de que se puede utilizar.
Inicializa una lista vaca.
Inicializar
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:
13 Lenguaje basic
194
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.
Obtener el tamao de una lista:
List1.Size
Utilice el mtodo Get para obtener un elemento de la lista con:
Get (ndice como Int)
nmero = List1.Get(i)
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 Lenguaje basic
195
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).
Los mapas son muy tiles para almacenar la configuracin de aplicaciones.
Mapas se utilizan en estos cdigos de ejemplo:
Mdulo DBUtils
utilizado para las entradas de la base de datos, las claves son los nombres de columna y los valores.
usado para la configuracin
Mdulo StateManager
Una lista debe inicializarse antes de que se puede utilizar.
Inicializa un mapa vaco.
Inicializar
Dim Map1 As mapa
Map1.Initialize
Idioma = Map1.Get(\"Language\")
Valor = Map1.GetValueAt(12)
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
Map1.Remove(\"Language\")
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
14 Grficos \/ dibujo
14.1 Visin general
Para dibujar grficos tenemos que utilizar un objeto Canvas.
Explicaciones desde el archivo de ayuda.
Un lienzo es un objeto que se basa en otros puntos de vista o mapas de bits (mutable).
Cuando el lienzo es inicializado y dibujar en una vista, un nuevo mapa de bits mutable es creado para
Fondo de la vista, fondo de la vista actual se copia en el nuevo mapa de bits y se establece el lienzo
para dibujar en el nuevo mapa de bits.
Los dibujos de lienzo no se actualizan inmediatamente en la pantalla. Debe llamar a la vista de destino
Invalidar el mtodo para actualizar la vista.
Esto es til ya que permite hacer varios dibujos y slo entonces actualizar la pantalla.
El lienzo puede ser temporal limitada a una regin especfica (y as slo afectan a esta regin). Esto es
hecho llamando ClipPath. Retirar el recorte se hace llamando al RemoveClip.
Puede obtener el mapa de bits que el lienzo se basa en la propiedad de mapa de bits.
Esto es un 'objeto de actividad', no se puede declarar bajo Sub Process_Globals.
Es posible trazar en las siguientes vistas:
Actividad
ImageView
Panel
Mapa de bits (mutable)
En las siguientes funciones, usted encontrar una serie de parmetros comunes.
un mapa de bits Android
Bitmap1 como mapa de bits
son las coordenadas, variables de flotador.
x, y. x 1, y1, x 2, y2 como flotador
Color
como
Int
son variables de color. Variables int
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
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
3 botones
empieza a girar
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.
Los pxeles azules son, en realidad, los pxeles transparentes.
14 Grficos \/ dibujo
200
14 Grficos \/ dibujo
201
14 Grficos \/ dibujo
202
En la rutina btnStep_Click:
14 Grficos \/ dibujo
203
En la rutina btnGoStop_Click:
En la rutina btnMode_Click:
14 Grficos \/ dibujo
204
Se puede jugar con los botones para observar las diferentes combinaciones de capas visibles y ocultas.
14 Grficos \/ dibujo
205
14 Grficos \/ dibujo
206
Se puede jugar con los botones para mostrar las diferentes combinaciones de capas visibles y ocultas.
14 Grficos \/ dibujo
207
14 Grficos \/ dibujo
208
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
14 Grficos \/ dibujo
209
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.
14 Grficos \/ dibujo
210
el ltimo parmetro de StrokeWidth es '0', esto significa modo de capilares, el ancho es de un pxel.
cvsLayer(2).DrawLine (x 1, y1, x 2, y2, Colors.Green, 0.99dip)
aqu usamos 0.99dip en lugar de 1dip porque en algunos casos ninguna lnea o slo partes de l son
dibujado. Este es un problema conocido en Android con un StrokeWidth de '1'.
14 Grficos \/ dibujo
211
dibujar el texto \"La Rosa\" con las tres alineaciones posibles diferentes.
dibujar el punto de referencia para cada texto.
14 Grficos \/ dibujo
212
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.
213
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:
Y (N1 como Int, N2 como Int) como Int
No (N como Int) como Int
O (N1 como Int, N2 como Int) como Int
ParseInt (valor como cadena, Radix como Int) como Int
ShiftLeft (N como Int, Shift As Int) como Int
ShiftRight (N como Int, Shift As Int) como Int
ToBinaryString (N como Int) As String
ToHexString (N como Int) As String
ToOctalString (N como Int) As String
UnsignedShiftRight (N como Int, Shift As Int) como Int
XOR (N1 como Int, N2 como Int) como Int
Descripcin de los miembros:
Y (N1 como Int, N2 como Int) como Int
214
215
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
Fecha (garrapatas As Long) As String
DateFormat como cadena
DateParse (fecha As String) As Long
GetDayOfMonth (garrapatas como larga) como Int
GetDayOfWeek (garrapatas como larga) como Int
GetDayOfYear (garrapatas como larga) como Int
GetHour (garrapatas como larga) como Int
GetMinute (garrapatas como larga) como Int
GetMonth (garrapatas como larga) como Int
GetSecond (garrapatas como larga) como Int
GetYear (garrapatas como larga) como Int
Ahora As Long [slo lectura]
TicksPerDay siempre
TicksPerHour siempre
TicksPerMinute siempre
TicksPerSecond siempre
Tiempo (garrapatas As Long) As String
TimeFormat As String
TimeParse (tiempo As String) As Long
Descripcin de los miembros:
216
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:\"
Fecha (garrapatas As Long) As String
Devuelve una representacin de cadena de la fecha (que se almacena como garrapatas).
El formato de fecha puede ajustarse con la palabra clave DateFormat.
Ejemplo:
Registro (\"hoy es:\"
DateFormat como cadena
Obtiene o establece el formato utilizado para analizar cadenas de fecha.
Consulte esta pgina para los patrones compatibles: formatos.
El modelo predeterminado es MM\/dd\/aaaa (23\/04\/2002 por ejemplo).
DateParse (fecha As String) As Long
Analiza la cadena de fecha y devuelve sus garrapatas representacin.
Se producir una excepcin si se produce un error de anlisis.
Ejemplo:
Dim en algn momento como Long
En algn momento = DateTime.DateParse(\"02\/23\/2007\")
GetDayOfMonth (garrapatas como larga) como Int
Devuelve el da de componente de mes desde el valor de las garrapatas.
Los valores oscilan entre 1 a 31.
GetDayOfWeek (garrapatas como larga) como Int
Devuelve el da de componente de semana desde el valor de las garrapatas.
Los valores oscilan entre 1 a 7.
GetDayOfYear (garrapatas como larga) como Int
Devuelve el da de componente del ao el valor de las garrapatas.
Los valores oscilan entre 1 a 366.
GetHour (garrapatas como larga) como Int
Devuelve la hora del componente de da desde el valor de las garrapatas.
Los valores estn entre 0 a 23.
GetMinute (garrapatas como larga) como Int
Devuelve los minutos dentro de un componente de hora del valor de las garrapatas.
Los valores estn entre 0 a 59.
GetMonth (garrapatas como larga) como Int
217
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
218
Eventos:
Ninguno
Miembros:
IsInitialized As Boolean
Mensaje As String [slo lectura]
Descripcin de los miembros:
IsInitialized As Boolean
Mensaje As String [slo lectura]
219
Continuar
Cos (como doble en radianes) como doble
CosD (grados como doble) como doble
IPC como doble
CRLF como cadena
Densidad como flotador
Dim
DipToCurrent (longitud como Int) como Int
DoEvents
Salida
ExitApplication
False As Boolean
Archivo como archivo
Piso (nmero doble) como doble
Para
GetDeviceLayoutValues como LayoutValues
GetType (objeto As Object) As String
Si
InputList (elementos como lista, ttulo como cadena, CheckedItem como Int) como Int
InputMultiList (elementos como lista, ttulo como cadena) como lista
Es
IsBackgroundTaskRunning (ContainerObject como objeto, TaskId como Int) As Boolean
ESNUMERO (texto As String) As Boolean
LastException como excepcin
LoadBitmap (Dir como cadena, FileName As String) como mapa de bits
LoadBitmapSample (Dir como cadena, nombre de archivo como cadena, MaxWidth como Int, MaxHeight como
220
221
222
223
224
ExitApplication
225
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.
InputMultiList (elementos como lista, ttulo como cadena) como lista
Muestra un cuadro de dilogo modal con una lista de elementos y casillas de verificacin. El usuario puede seleccionar vario
El cuadro de dilogo se cierra pulsando sobre el botn \"Aceptar\".
Devuelve una lista con los ndices de los elementos seleccionados. La lista est ordenada.
Devuelve una lista vaca si el usuario ha presionado la tecla back.
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
IsBackgroundTaskRunning (ContainerObject como objeto, TaskId como Int) As Boolean
Pruebas si una tarea en segundo plano, presentada por el objeto contenedor y con el id especificado, es
ejecutando.
ESNUMERO (texto As String) As Boolean
Comprueba si la cadena especificada puede analizarse de forma segura como un nmero.
LastException como excepcin
Devuelve la ltima excepcin que fue pillada (si existe tal).
LoadBitmap (Dir como cadena, FileName As String) como mapa de bits
Carga el mapa de bits.
Tenga en cuenta que el sistema de archivos Android distingue maysculas de minsculas.
Debe considerar el uso de LoadBitmapSample si el tamao de la imagen es grande.
El tamao real del archivo no es relevante como normalmente se almacenan imgenes comprimidas.
Ejemplo:
Activity.SetBackgroundImage (LoadBitmap (File.DirAssets,
\"SomeFile.jpg\"))
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:
226
227
228
229
230
...
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:
Altura como Int
Escala como flotador
toString As String
231
El valor de escala del dispositivo que es igual a 'puntos por pulgada' \/ 160. Para la mayora de los dispositivos, el valor ser 1
o 1.5 (alta resolucin).
toString As String
Ancho como Int
El ancho de la pantalla (pxeles).
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:
CharAt (ndice como Int) como Char
CompareTo (otro como cadena) como Int
EndsWith (sufijo As String) As Boolean
EqualsIgnoreCase (otros As String) As Boolean
GetBytes (Charset como cadena) como Byte()
IndexOf (SearchFor As String) como Int
IndexOf2 (SearchFor As String, ndice como Int) como Int
Longitud como Int
232
233
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
234
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:
Append (texto As String) como StringBuilder
Inicializar
Insertar (Offset como Int, texto As String) como StringBuilder
IsInitialized As Boolean
Longitud como Int [slo lectura]
Quitar (StartOffset como Int, EndOffset como Int) como StringBuilder
ToString como cadena
Descripcin de los miembros:
Append (texto As String) como StringBuilder
Anexa el texto especificado al final.
Devuelve el mismo objeto, de modo que puede encadenar mtodos.
Ejemplo:
SB.Append (\"primera lnea\").Append(CRLF).Append (\"segunda lnea\")
Inicializar
Inicializa el objeto.
Ejemplo:
Dim sb como StringBuilder
SB.Inicializar
SB.Append (\"el valor es:\").Append(SomeOtherVariable).Append(CRLF)
Insertar (Offset como Int, texto As String) como StringBuilder
235
15.8 Temporizador
236
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
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.
Sub Activity_KeyPress (KeyCode como Int) As Boolean
Si Keycode = KeyCodes.KEYCODE_BACK Then
Return True
Else
Return False
End If
End Sub
Puede agregar elementos de men a la actividad con el mtodo AddMenuItem. Nota que este mtodo debe
16 Views
238
16 Views
239
16 Views
240
...
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.
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Acabado
Cierra esta actividad.
GetView (ndice como Int) como vista
Obtiene la vista que se almacena en el ndice especificado.
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Izquierda como Int
16 Views
241
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Ttulo como CharSequence
Top como Int
Ancho como Int
Obtiene o establece el ancho de la vista.
16.2 Botn
16 Views
242
Abajo
Arriba
Haga clic en
LongClick
Miembros:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
Gravedad como Int
Altura como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
16 Views
243
16 Views
244
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Comprobar As Boolean
Color como Int [slo escritura]
16 Views
245
16 Views
246
Comprobar As Boolean
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
Gravedad como Int
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Izquierda como Int
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.
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Etiqueta como objeto
16 Views
247
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
ForceDoneButton As Boolean [slo escritura]
16 Views
248
16 Views
249
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Envuelva As Boolean [slo escritura]
Descripcin de los miembros:
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
ForceDoneButton As Boolean [slo escritura]
Por defecto el sistema operativo establece la clave de la accin de teclado virtual para mostrar Done o siguiente segn la
diseo especfico.
Puede forzar que se muestre realizado por establecer este valor en True.
Ejemplo:
EditText1.ForceDoneButton = True
Gravedad como Int
Altura como Int
Sugerencia como cadena
Obtiene o establece el texto que aparecer cuando el EditText est vaca.
Ejemplo:
EditText1.Hint = \"Ingrese el nombre de usuario\"
HintColor como Int
16 Views
250
Obtiene o establece el indicador de tipo de entrada. Este indicador se utiliza para determinar la configuracin del teclado virtu
Ejemplo:
EditText1.InputType = EditText1.INPUT_TYPE_NUMBERS
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Izquierda como Int
PasswordMode As Boolean [slo escritura]
Establece si el EditText debe estar en modo de contrasea y ocultar los personajes reales.
16 Views
251
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.
SelectionStart como Int
Obtiene o establece la posicin de inicio de la seleccin (o la posicin del cursor).
Devuelve -1 Si no hay seleccin o cursor.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Previsualiza As Boolean [slo escritura]
Establece si el EditText debe estar en modo de lnea nica o varias lneas.
Etiqueta como objeto
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
Envuelva As Boolean [slo escritura]
Establece si el contenido del texto se ajustar dentro de los lmites de EditText. Pertinentes cuando la EditText
en modo multilnea.
Ejemplo:
EditText1.Wrap = False
16 Views
252
16.5 ImageView
16 Views
253
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Top como Int
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
Mapa de bits como android.graphics.Bitmap
Obtiene o establece el mapa de bits asignado a la ImageView.
Ejemplo:
ImageView1.Bitmap = LoadBitmap (File.DirAssets, \"someimage.jpg\")
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
Gravedad como Int
Obtiene o establece la gravedad asignada a los mapas de bits.
Ejemplo:
ImageView1.Gravity = Gravity.Fill
Altura como Int
Inicializar (EventName As String)
Invalidar
16 Views
254
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
16 Views
255
16.6 Etiqueta
16 Views
256
16 Views
257
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
16 Views
258
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:
AddSingleLine (texto As String)
AddSingleLine2 (texto As String, ReturnValue como objeto)
AddTwoLines (Text1 como cadena, Text2 As String)
AddTwoLines2 (Text1 Text2 como cadena, cadena, ReturnValue como objeto)
AddTwoLinesAndBitmap (Text1 como cadena, Text2 como cadena, mapa de bits como
Android.Graphics.Bitmap)
16 Views
259
16 Views
260
16 Views
261
Claro
Borra todos los elementos de la lista.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
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.
GetItem (ndice como Int) como objeto
Devuelve el valor del elemento en la posicin especificada.
Devuelve el \"valor de retorno\" si fue creado y si no devuelve el texto de la primera lnea.
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Izquierda como Int
RemoveAt (ndice como Int)
Quita el elemento en la posicin especificada.
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
16 Views
262
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
TwoLinesAndBitmap como TwoLinesAndBitmapLayout [slo lectura]
Devuelve el esquema que se utiliza para mostrar dos lneas y elementos de mapa de bits.
Puede cambiar los valores de diseo para cambiar la apariencia de dichos elementos.
Por ejemplo, si desea quitar la segunda etiqueta (en todos los artculos con este diseo):
ListView1.TwoLinesAndBitmap.SecondLabel.Visible = False
TwoLinesLayout como TwoLinesLayout [slo lectura]
Devuelve el esquema que se utiliza para mostrar elementos de dos lneas.
Puede cambiar los valores de diseo para cambiar la apariencia de dichos elementos.
Ejemplo:
Dim Label1 As Label
Label1 = ListView1.TwoLinesLayout.SecondLabel
Label1.TextSize = 20
Label1.textColor = Colors.Green
16 Views
263
16.8 Panel
16 Views
264
IsInitialized As Boolean
Izquierda como Int
LoadLayout (diseo como cadena) como LayoutValues
NumberOfViews como Int [slo lectura]
RemoveView
RemoveViewAt (ndice como Int)
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Top como Int
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
AddView (vista como android.view.View, izquierda como Int, Top como Int, ancho como Int, altura como
Int)
Agrega una vista a este panel.
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
GetView (ndice como Int) como vista
Obtiene la vista que se almacena en el ndice especificado.
16 Views
265
16 Views
266
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
Altura como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
Progreso como Int
RemoveView
RequestFocus As Boolean
16 Views
267
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Top como Int
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho 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:
Antecedentes como android.graphics.drawable.Drawable
16 Views
269
BringToFront
Comprobar As Boolean
Color como Int [slo escritura]
Habilitado como Boolean
Gravedad como Int
Altura como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
16 Views
270
16 Views
271
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Texto As String
TextColor como Int
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
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
Ninguno
Miembros:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
FullScroll (abajo As Boolean)
Altura como Int
Inicializar (altura como Int)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
Panel como Panel [slo lectura]
RemoveView
RequestFocus As Boolean
ScrollPosition como Int
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Top como Int
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
16 Views
273
16 Views
274
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.
ScrollPosition como Int
Obtiene o establece la posicin de desplazamiento.
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Etiqueta como objeto
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho 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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
16 Views
275
16 Views
276
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Valor como Int
16 Views
277
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:
Add (elemento As String)
AddAll (lista como lista)
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Claro
Color como Int [slo escritura]
Habilitado como Boolean
GetItem (ndice como Int) As String
Altura como Int
IndexOf (valor As String) como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
16 Views
278
IsInitialized As Boolean
Izquierda como Int
Preguntar como cadena
RemoveAt (ndice como Int)
RemoveView
RequestFocus As Boolean
SelectedIndex como Int
SelectedItem As String [slo lectura]
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Tamao como Int [slo lectura]
Etiqueta como objeto
Top como Int
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
Add (elemento As String)
Agrega un elemento.
Ejemplo:
Spinner1.Add(\"Sunday\")
AddAll (lista como lista)
Agrega varios elementos.
Ejemplo:
Spinner1.AddAll (matriz como cadena (\"Domingo\", \"Lunes\",...))
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
16 Views
279
Claro
Borra todos los elementos.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
GetItem (ndice como Int) As String
Devuelve el elemento en el ndice especificado.
Altura como Int
IndexOf (valor As String) como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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
Izquierda como Int
Preguntar como cadena
Obtiene o establece el ttulo que se mostrar cuando se abre la ruleta.
RemoveAt (ndice como Int)
Quita el elemento en el ndice especificado.
RemoveView
Quita este punto de vista de su padre.
RequestFocus As Boolean
16 Views
280
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
16 Views
281
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:
AddTab (Title As String, LayoutFile As String)
AddTab2 (Title As String, vista como android.view.View)
AddTabWithIcon (Title As String, DefaultBitmap como android.graphics.Bitmap,
SelectedBitmap como android.graphics.Bitmap, LayoutFile As String)
AddTabWithIcon2 (Title As String, DefaultBitmap como android.graphics.Bitmap,
SelectedBitmap como android.graphics.Bitmap, ver como android.view.View)
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
CurrentTab como Int
Habilitado como Boolean
Altura como Int
16 Views
282
16 Views
283
16 Views
284
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
16 Views
285
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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Comprobar As Boolean
Color como Int [slo escritura]
Habilitado como Boolean
Gravedad como Int
Altura como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
16 Views
286
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
TextColor como Int
TextOff As String
TextOn como cadena
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Descripcin de los miembros:
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Comprobar As Boolean
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
Gravedad como Int
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
16 Views
287
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
TextColor como Int
TextOff As String
Obtiene o establece el texto que aparecer en el modo OFF.
TextOn como cadena
Obtiene o establece el texto que aparecer en el modo ON.
TextSize como flotador
Top como Int
Tipografa como android.graphics.Typeface
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho de la vista.
16 Views
288
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:
Antecedentes como android.graphics.drawable.Drawable
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
Altura como Int
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
Izquierda como Int
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
16 Views
289
16 Views
290
SendToBack
Cambia el orden z de este punto de vista y lo enva a la parte posterior.
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Cambia el tamao y posicin de la vista.
Etiqueta como objeto
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho 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
Antecedentes como android.graphics.drawable.Drawable
16 Views
291
BringToFront
Color como Int [slo escritura]
Habilitado como Boolean
Avance
Altura como Int
Inicializar (EventName As String)
Invalidar
Invalidate2 (Rect como android.graphics.Rect)
Invalidate3 (izquierda como Int, Top como Int, Int, como inferior como Int)
IsInitialized As Boolean
JavaScriptEnabled As Boolean
Izquierda como Int
LoadHtml (Html como cadena)
LoadUrl (Url como cadena)
RemoveView
RequestFocus As Boolean
SendToBack
SetBackgroundImage (mapa de bits como android.graphics.Bitmap)
SetLayout (izquierda como Int, Top como Int, Int ancho, altura como Int)
Etiqueta como objeto
Top como Int
URL As String [slo lectura]
Visible como Boolean
Ancho como Int
ZoomEnabled As Boolean
Descripcin de los miembros:
16 Views
292
Atrs
Vuelve a la direccin Url anterior.
Antecedentes como android.graphics.drawable.Drawable
Obtiene o establece el fondo dibujable.
BringToFront
Cambia el orden z de este punto de vista y lo trae al frente.
Color como Int [slo escritura]
Define el fondo de la vista para ser un ColorDrawable con el color especificado.
Si el fondo actual es de tipo GradientDrawable o ColorDrawable sern las esquinas redondas
mantenido.
Habilitado como Boolean
Avance
Va hacia adelante a la siguiente direccin Url.
Altura como Int
Inicializar (EventName As String)
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.
Invalidate2 (Rect como android.graphics.Rect)
Invalida el rectngulo dado.
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.
Izquierda como Int
LoadHtml (Html como cadena)
16 Views
293
Obtiene o establece el valor de la etiqueta. Este es un marcador de posicin que puede utilizar para almacenar datos adiciona
Top como Int
URL As String [slo lectura]
Devuelve la direccin Url actual.
Visible como Boolean
Ancho como Int
Obtiene o establece el ancho 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
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:
Eventos:
Ninguno
Miembros:
Agregar (elemento As Object)
AddAll (lista como lista)
AddAllAt (ndice como Int, lista como lista)
Claro
Obtener (ndice como Int) como objeto
IndexOf (elemento As Object) como Int
Inicializar
Initialize2 (matriz como lista)
InsertAt (ndice como Int, elemento As Object)
17 Colecciones de
295
IsInitialized As Boolean
RemoveAt (ndice como Int)
SET (ndice como Int, elemento As Object)
Tamao como Int [slo lectura]
Orden (ascendente As Boolean)
SortCaseInsensitive (ascendente As Boolean)
SortType (FieldName como cadena, ascendente As Boolean)
Descripcin de los miembros:
Agregar (elemento As Object)
Agrega un elemento al final de la lista.
AddAll (lista como lista)
Agrega todos los elementos en la coleccin especificada al final de la lista.
Tenga en cuenta que puede agregar una matriz directamente.
Ejemplo:
List.AddAll (matriz como String(\"value1\", \"value2\"))
17 Colecciones de
296
Inserta el elemento especificado en el ndice especificado. Como resultado todos los artculos con ndice ms grande entonce
se desplazan el ndice especificado.
IsInitialized As Boolean
RemoveAt (ndice como Int)
Quita el elemento en el ndice especificado.
SET (ndice como Int, elemento As Object)
Reemplaza el elemento actual en el ndice especificado con el nuevo elemento.
Tamao como Int [slo lectura]
Devuelve el nmero de elementos de la lista.
Orden (ascendente As Boolean)
Ordena la lista.
Todos los elementos deben ser nmeros o cadenas.
SortCaseInsensitive (ascendente As Boolean)
Lexicogrficamente ordena la lista, ignorando el caso de caracteres.
Todos los elementos deben ser nmeros o cadenas.
17 Colecciones de
297
Ordena una lista con elementos de usuario haban definido tipo. La lista est ordenada segn el campo especificado.
FieldName - el nombre del campo entre maysculas y minsculas que se utilizar para la clasificacin. Campo debe contener
o cadenas.
Ascendente - si desea ordenar ascendente o descendente.
Ejemplo:
Sub Process_Globals
Persona de tipo (nombre As String, Int edad)
End Sub
Sub Activity_Create (cumshot As Boolean)
Dim personas como lista
Persons.Initialize
Para i = 1 A 50
Dim p como persona
p.Name = \"Persona\"
p.Age = Rnd (0, 121)
Persons.Add(p)
Siguiente
Persons.SortType (\"edad\", True) ' ordenar la lista segn el campo de la edad.
Para i = 0 To Persons.Size - 1
Dim p como persona
p = Persons.Get(i)
Log(p)
Siguiente
End Sub
17 Colecciones de
298
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
ContainsKey (clave como objeto) As Boolean
Get (clave como objeto) como objeto
GetDefault (clave como objeto, por defecto como objeto) como objeto
GetKeyAt (ndice como Int) como objeto
GetValueAt (ndice como Int) como objeto
Inicializar
IsInitialized As Boolean
Poner (clave como objeto, valor como objeto) como objeto
Quitar (clave como objeto) como objeto
Tamao como Int [slo lectura]
17 Colecciones de
299
Inicializar
Inicializa el objeto.
Ejemplo:
Dim Map1 As mapa
Map1.Initialize
IsInitialized As Boolean
17 Colecciones de
300
301
http:\/\/www.Basic4ppc.com\/Forum\/Members\/nfordbscndrd.html
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.
En B4A, empezar escribiendo \"Sub [viewName]\" seguido de un espacio y
Siga las instrucciones, pulsando Enter despus de cada seleccin hasta B4A
termina con \"EventName\" destacada. Esto es donde usted escribira en
el nombre de Sub.
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()
Funcin FName()
Como [var.type]
Exit Sub
Exit Function
General:
------DoEvents
mientras
cargado
Agraham
ser
hardware
60W
L1.Color = Colors.Red
L1.TextColor = Colors.Black
SubName (x, y)
Sub SubName() como Int\/cadena\/etc--no una variable Global
un parmetro, por lo que dicen reproductor es una variable Global,
no se puede decir: PlayCard(player). En su lugar, usted tiene que decir:
i = reproductor: PlayCard(i)
Format()
NumberFormat
InputBox($)
MsgBox \"texto\"
i=MsgBox()
Int
303
RND es < 1
Round(n)
i = Val(string)
Si IsNumber(string) entonces i = string Else I = 0-Un intento de uso i = string \"lanza una excepcin\", si el
la cadena es
no nmeros.
control.SetFocus
vista.RequestFocus
n \/ 0: error
x = Shell(\"...\")
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).\"
Configuracin de transparencia de la etiqueta:
-------------------------Propiedades - estilo espalda
Diseador - dibujable - Alpha
Constantes:
--------""
vbCr
vbCrLf
Quote = Chr$(34)
CRLF = Chr$(13)
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.
MID$
MID$
MID$
MID$
MID$
UBU
(\"abcde\",
(\"abcde\",
(\"abcde\",
(\"abcde\",
(\"abcde\",
1,
2,
3,
4,
5,
B4A
1) = \"a\" = ndice 0--de la matriz de la letra \"a\" = \"abcde\".CharAt(0)
1) = \"b\" = ndice de la matriz de carta 1
1) = \"c\" = ndice de matriz Carta 2
1) = \"d\" = ndice de matriz carta 3
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)
304
305
19 FAQ DE
306
19 PREGUNTAS FRECUENTES
Algunos de los captulos a continuacin han sido recogidos desde el Foro.
En la parte inferior de esta pgina hay una larga lista con todos los
tipos de objetos.
19 FAQ DE
307
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.
Vistas que se aadieron
en el diseador en un archivo de diseo no debe ser inicializado!
o Dim slo la vista en la rutina de Sub Globals.
Sub Globals
Dim lblTitle como etiqueta
y nada ms.
Lista \/ mapa.
Lista y mapa objetos deben inicializarse antes de que se pueden utilizar.
19 FAQ DE
308
Se convierte en:
ANSW = Msgbox2 (\"desea salir del programa\", _
\"A T T E N T I N\", \"S\", \"\", \"No\", Null)
19.6 Evitar cerrar una aplicacin \/ captura cdigos de tecla como Back \/ men
Esto puede hacerse por interceptar el evento Activity_KeyPress.
Sub Activity_KeyPress (KeyCode como Int) As Boolean ' devuelve True para consumir el
evento
Dim Answ como Int
Si KeyCode = KeyCodes.KEYCODE_BACK Then
ANSW = Msgbox2 (\"desea salir del programa?\", _
\"A T T E N T I N\", \"S\", \"\", \"No\", Null)
Si Answ = DialogResponse.NEGATIVE Then
Return True
End If
End If
Return False
End Sub
ATENCIN:
La tecla de inicio no puede ser atrapada en el Activity_KeyPress rutina de evento!
19 FAQ DE
309
Ejemplos:
Activity.AddMenuItem (\"Load\", \"mnuLoad\")
Activity.AddMenuItem (\"Guardar\", \"mnuSave\", imagen)
o
Activity.AddMenuItem (\"Load\", \"mnuLoad\", LoadBitmap (File.DirAssets, \"Load.png\"))
Activity.AddMenuItem (\"Guardar\", \"mnuSave\", LoadBitmap (File.DirAssets, \"Save.png\"))
19 FAQ DE
310
Y cambiar el valor:
19 FAQ DE
311
Haga clic en
y confirmar para eliminar los archivos.
Si elimina los archivos en la carpeta, recibir un mensaje para los archivos que faltan la siguiente
tiempo de que iniciar el proyecto.
19 FAQ DE
312
En el IDE, men:
Proyecto orientaciones soportan:
Ambos
Retrato
Paisaje
Paisaje
Retrato
Ambos
Phone1.SetScreenOrientation(0)
Phone1.SetScreenOrientation(1)
Phone1.SetScreenOrientation(-1)
19 FAQ DE
313
19 FAQ DE
314
19 FAQ DE
315
Necesidades de la biblioteca de reflexin (disponible slo para los usuarios que compraron Basic4Android)!
Ejemplos:
19 FAQ DE
316
19 FAQ DE
317
19 FAQ DE
318
19 Glosario de
319
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..