tabla de contenido - penny press ltd · comandos sqlite creación de base de datos creación de...

29
Tabla de Contenidos i B4A en Español Desarrollo Rápido de App utilizando BASIC Por Wyken Seagrave Traducción de Javier Párraga González Publicado por Penny Press, 176 Greendale Road, Coventry, CV5 8AY, United Kingdom [email protected] ISBN 9781871281453 (ebook) 9781719029940 (Libro) 9781871281460 (edición rústica) Tabla de Contenido Tabla de Contenido Prólogo de Erel Uziel Prólogo Introducción Para quien es este libro Para el Principiante Para el Profesional Cómo está organizado este libro Convenciones usadas en este libro Código Descripción de los Menús Especificando Argumentos de Funciones Acrónimos Recursos Actualizaciones gratuitas Boletín Informativo Quisiéramos conocer tu opinión Sobre el Autor Agradecimientos Parte 1: Conceptos Básicos 1.1 Primeros pasos Versiones Versión de B4A Versión de Android Dos Versiones Que se necesita para ejecutar B4A Instalando la Versión de Evaluación Descarga de la version de evaluación de B4A Instalando y ejecutando la version de evaluación Lo que se puede ver Tu primera App Cómo agregar tu primer comando Depuración Legado versus Depurador Rápido Puntos de interrupción (Breakpoints) Salvar el programa B4A-Bridge Instalar B4A-Bridge en tu dispositivo Ejecutar B4A-Bridge en tu dispositivo

Upload: others

Post on 18-Apr-2020

10 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos i

B4A en Español

Desarrollo Rápido de App utilizando BASIC

Por Wyken Seagrave

Traducción de Javier Párraga González

Publicado por Penny Press, 176 Greendale Road, Coventry,

CV5 8AY, United Kingdom

[email protected]

ISBN 9781871281453 (ebook)

9781719029940 (Libro)

9781871281460 (edición rústica)

Tabla de Contenido

Tabla de Contenido

Prólogo de Erel Uziel

Prólogo Introducción Para quien es este libro

Para el Principiante Para el Profesional

Cómo está organizado este libro Convenciones usadas en este libro

Código Descripción de los Menús Especificando Argumentos de Funciones Acrónimos

Recursos Actualizaciones gratuitas Boletín Informativo Quisiéramos conocer tu opinión Sobre el Autor Agradecimientos

Parte 1: Conceptos Básicos

1.1 Primeros pasos Versiones

Versión de B4A Versión de Android Dos Versiones

Que se necesita para ejecutar B4A Instalando la Versión de Evaluación

Descarga de la version de evaluación de B4A Instalando y ejecutando la version de evaluación

Lo que se puede ver Tu primera App

Cómo agregar tu primer comando Depuración

Legado versus Depurador Rápido Puntos de interrupción (Breakpoints) Salvar el programa

B4A-Bridge Instalar B4A-Bridge en tu dispositivo Ejecutar B4A-Bridge en tu dispositivo

Page 2: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos ii

Notas sobre la conexión inalámbrica B4A-Bridge Código fuente

Conecta el IDE al dispositivo o al Emulador Cambio de Conexión Conectar vía [Herramientas > B4A-Bridge] Barra de estado de B4A-Bridge Modo de Compilación Remota Diseñador B4A Detener B4A-Bridge

Compilar tu nueva App Compilación Remota Aprobar la App en su dispositivo Punto de interrupción (Breakpoint) Ventana de Depuración Evaluación emergente de Variables Continuando con la ejecución Eventos de Logs Rotando el dispositivo Más sobre la Depuración

Tu segunda App: Usando el Diseñador Conceptos sobre View (Vistas) y Layout (Diseños) Ejecutando el Diseñador Conecte el Diseñador a su dispositivo. Agregar un botón Configurar su botón Generar Miembros Añadir el Código para el Botón Agregar código al botón Carga del Layout (Diseño) Ejecuta tu App

Tu tercera App Detener B4A-Bridge Más sobre el Diseñador

1.2 Entorno de Desarrollo Integrado Iconos Selector de Iconos

Interfaz Selector de Icono Usar el Selector de Icono en el área de código Usar el Selector de Icono dentro del diseñador

Menú Archivo Menú Editar Diseñador Menú Proyecto

Módulos Opciones de Paquete (Package) Opciones de Compilación

Menú Harramientas Submenú opciones del IDE

Menú Depurar Menú Ventanas Menú Ayuda Barra de Herramientas (Toolbar) Pestañas de Módulos

Cerrando un Módulo Menú Emergente en Pestaña del Módulo

Área de Código Lista Desplegable de Subrutina (función) Control de Zoom Divisor del Editor de Código Código

Page 3: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos iii

Revisión Codificación de Color Regiones Encabezado del código

Comentar y Descomentar código

Sangría Autocompletado Autocompletado de subrutinas de eventos Comentarios como Documentación Completado de Bloques Menú Contextual Destacando las apariciones de palabras Adecuación de la estructura del código URLs que permiten Clic

Área del menu Ventanas Pestañas de las Ventanas

Administrador de Librerías

Administrador de Archivos

Ventana de Módulos

Ventana Logs

Buscar todas las Referencias (F7)

Búsqueda Rápida El Motor de Advertencias

Ignorando Advertencias Las Advertencias

Archivo de Metadatos del IDE

1.3 Acoplamiento Menús de Ventana

Menú del Módulo Menú de Ventana

Flotante Grupos de Pestañas

Grupo de Pestañas Horizontal Grupo de Pestañas Vertical

Acoplar Arrastrar Ventanas Acoplar un Módulo Acoplar Ventanas Mover un Grupo de Pestañas Acoplar Ventanas Ocultar Automaticamente (Auto Hide)

Diseñador Visual Restaurando todas las Ventanas

1.4 Actualizar a la version completa Sobre las Versiones Completas

Versión Estándar de B4A Versión Empresarial de B4A Licencia de grupo de B4A Licencias Académicas Compra Registrando B4A

Instalación de Java JDK y Android SDK Comprobar si Java JDK ya está instalado Instalar el Java JDK de 32 bit Instalar el SDK de Android y una plataforma

Instalar y configurar B4A Descargar e instalar B4A Abrir B4A Licencia

Page 4: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos iv

Configurar Rutas Javac.exe Android.jar Librerías Adicionales Carpeta de Módulos Compartidos

Actualizando a una nueva versión

Parte 2: Creando su App

2.1 El Proyecto Módulos Módulo Main de Actividad principal Servicio Starter Atributos

Sección Atributos del Proyecto #AdditionalRes: Location, Package (opcional) #ApplicationLabel: #BridgeLogger: True #CanInstallToExternalStorage: #CustomBuildAction: Step, Command, Arguments #DebuggerDisableOptimizations: Value #DebuggerForceFullDeployment: #DebuggerForceStandardAssets: #ExcludeClasses: Value List #MultiDex: True #SignKeyAlias: #SignKeyFile: #SignKeyPassword: #SupportedOrientations: Value #VersionCode: Value #VersionName: Name

Atributos de compilación de Librería Icono del Proyecto Nombre del paquete

Nombre Único Caracteres Permitidos URL de Google Play Precaución: el Nombre no se puede cambiar

El Manifest Editor de Manifest Evitar los caracteres de final de cadena Comandos Manifest minSdkVersion android:targetSdkVersion Comandos Condicionales del Manifest #Region and #End Region Macros del Editor de Manifest Más información

2.2. Diseñando su App Satisfacer Deseos y Necesidades Versiones de Android

Popularidad de las versiones Android La Pantalla de Android

Barra de Estado (Status Bar) Barra de Navegación (Navigation Bar) Notificaciones

Diseño de Apps paso a paso Principios básicos de Diseño Barra de Título (Title Bar) Action Bar (o App Bar) Menú

Page 5: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos v

Vistas con Pestañas Páginas Deslizantes Navigation Drawer (Menú lateral deslizante) Animando su App Publicidad Temas Android Más Consejos

Administración de Configuraciones Editición de Ajustes Guardar y recuperar configuraciones

Pantallas y Layouts (Diseños) El Diseñador

Múltiples actividades (Activities) Retornando de una Actividad

Vistas superpuestas (Overlays) Menú Superpuesto Diseño Superpuesto (Layout)

Como detectar el tamaño de la pantalla LayoutValues

Detectando la Orientación del Dispositivo Orientación de Pantalla Permitida Añadir vistas por código

Ejemplo dips

DipToCurrent(Length as Int) Porcentaje de una Actividad

¿El dispositivo tiene teclado? ¿App o Widget ? Gestión de Permisos

Antes de Android 23 Permisos en Tiempo de Ejecución

2.3 Comunicación con el Usuario Diálogos

Diálogos Asíncronos Diálogos Modales

ToastMessageShow Alarmas Notificaciones Diálogo de Progreso Barra de Progreso

2.4 El Diseñador Visual Diseños (Layouts) Ventanas de Acoplamiento Menú Archivo

Nuevo Abrir Salvar (Ctrl+S) Guardar Como… Eliminar Diseño

Menú Añadir Vista Menú WYSIWYG del Diseñador

Conectar (F2) Disconectar (Shift+F2)

Menú Herramientas Generar Miembros Cambiar Rejilla Enviar a UI Cloud (F6)

Menú Ventanas Ventana Propiedades Ventana Variantes

Page 6: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos vi

Ventana Archivos Ventana de Código Árbol de vistas Reiniciar

El Diseñador Abstracto Coincidir Variante Elegida Controles de Vista Menús de contexto Selección de vistas

Código del Diseñador Añadir vistas en código

2.5 Referencia de código del diseñador En Segundo plano (Background)

Scripts del Diseñador y Código de Actividad Ejecutando Código (Scripts)

Conceptos Clave Pixel Resolución dpi : dots per inch (puntos por pulgada) Tamaño de Pantalla Dip Tamaño del Texto Pantalla Estándar Escala Estrategía de Acople y Relleno

Conceptos básicos de código del diseñador Seleccionando Variantes

Lenguaje de Script Variables %x and %y

Propiedades dentro de Scripts Advertencia: Configure las propiedades internas antes de las externas Propiedades del Texto Otras Propiedades

Métodos Otras palabras clave Métodos de Actividad

Activity.RerunDesignerScript (LayoutFile As String, Width As Int, Height As Int) AutoScale: Diseños para diferentes tamaños de dispositivos

Como funciona AutoScale Como ver el efecto del AutoScale Cómo ver el efecto de AutoScale en el tamaño del texto Cómo usar AutoScale AutoScaleRate(rate) AutoScaleAll AutoScale(View)

Diferentes Diseños para Vertical y Horizontal Estrategia de escalado Edición de vistas en un programa

2.6 Compilación, Depuración y Pruebas Compilación Versión de Android Configuración de Compilación

Definición de Configuración de Compilación Lista de Configuración de Compilacion Compilación Condicional

Modos de Compilación Modo Depuración Modo Release Release (obfuscated)

Page 7: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos vii

Compilación Condicional Compilador de Línea de Comandos

Ejecutar desde archivos de lote (Batch Files) Depuración

#ExcludeFromDebugger Attribute Reiniciar (F11) Depurador Rápido

Limitaciones del Depurador Rápido Como funciona el Depurador Rápido Edición de código utilizando el Depurador Rápido

Depuración Legado Breakpoints (Puntos de Interrupción)

Limitaciones del Breakpoint Control del Depurador

Ventana Depurar Pila de LLamadas Lista de Variables Observar Consulta Flotante

Registro (Logging) Registro con B4A-Bridge en el modo de distribución (Release)

Compilando para Material Design Tema Holo Temas Material en el Diseñador WYSIWYG Designer

Probando tu aplicación Conectando el Depurador al Dispositivo o al Emulador

Canales de comunicación para Depuración Abrir el Canal

B4A-Bridge Depuración USB

Conexión del dispositivo vía USB Android Debug Bridge Depuración con USB

El Emulador o el Administrador de Dispositivos Virtuales de Android (AVD) Introducción Como interactúa B4A con los dispositivos emulados

Utilizando el Android Virtual Device Manager No hay pestañas disponibles Android Virtual Devices (AVDs)

Creando un AVD AVD Name (Requerido) Device (Requerido) Target (Requerido) CPU / ABI (Requerido) Keyboard (Teclado) Skin (Requerido) Front / Back Camera (Cámara Delantera / Trasera) Memory Options (Opciones de Memoria) Internal Storage (Almacenamiento Interno) SD Card (Tarjeta SD) Emulation Options (Opciones de emulación)

Creación de un Device Definition (Definición de Dispositivo) Ejecución de Dispositivo Virtual y ajuste de escala para la Emulación de Tamaño Real

Sin Escalado Escala a tamaño real

Interacción con su Dispositivo Virtual Abreviaturas de teclado para PC Abreviaturas de teclado para el Mac Intercambio de archivos con el PC Solucionar problemas de conexión

Page 8: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos viii

2.7 Gráficos y Dibujos Métodos de Dibujado Configuración de fondos de Vistas de Actividad

Vistas Dibujables (Drawables) Bitmaps (Mapa de bits) Drawables (Dibujables) Propiedad del fondo ColorDrawable GradientDrawable BitmapDrawable Código de ejemplo StateListDrawable NinePatchDrawable

Objeto Canvas (Lienzo) Inicializando un Lienzo Dibujando sobre un Lienzo Importar un archivo Bitmap en el Lienzo Copiar un Dibujable en un Lienzo Haciendo que el lienzo se dibuje Restricción del Área de Dibujo

Las funciones más communes del Lienzo DrawBitmap (Bitmap1 As Bitmap, SrcRect As Rect, DestRect As Rect) DrawBitmapRotated (Bitmap1 As Bitmap, SrcRect As Rect, DestRect As Rect, Degrees As Float) DrawCircle (x As Float, y As Float, Radius As Float, Color As Int, Filled As Boolean, StrokeWidth As

Float) DrawColor (Color As Int) DrawLine (x1 As Float, y1 As Float, x2 As Float, y2 As Float, Color As Int, StrokeWidth As Float) DrawRect (Rect1 As Rect, Color As Int, Filled As Boolean, StrokeWidth As Float) DrawRectRotated (Rect1 As Rect, Color As Int, Filled As Boolean, StrokeWidth As Float, Degrees As

Float) DrawText (Text As String, x As Float, y As Float, Typeface1 As Typeface, TextSize As Float, Color As

Int, Align1 As Align) DrawTextRotated (Text As String, x As Float, y As Float, Typeface1 As Typeface, TextSize As Float,

Color As Int, Align1 As Align, Degree As Float) Programa de Ejemplo Ejemplos más complejos

Animación de Mapas de bits Diagramas / Gráficas Framework de Gráficas Errores de falta de Memoria

2.8 Bases de Datos Almacenamiento de Datos Fundamentos de Base de Datos

Base de Datos (Database) Tabla Registro Campo Clave Primaria Tipo de Campo Datos Relacionales Archivos de Bases de Datos Librería KeyValueStore2 Cifrado de Bases de Datos Mostrando tablas al usuario

Administración de Bases de Datos Herramientas del SGBD SQLiteBrowser SQLiteSpy Apps SGBD

El Objeto SQL

Page 9: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos ix

Declarar el Onjeto SQL Inicializar el Objeto SQL

DBUtils Fundamentos de DBUtils Pasos Preliminares SQL Tipos de Campos DBUtils Funciones DBUtils Programa DBUtils de ejemplo

SQLite SQL SQLite Mas Información sobre SQLite Ejemplo de Programa con SQLite Tipado Dinámico SQLiteExceptions Librería SQL

Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta de datos Borrando datos Renombrar una tabla Añadiendo un campo Usando SQLite para convertir Ticks a Cadenas de Caracteres

Implementando relaciones en una Base de Datos

2.9 Módulos Procesos

¿Cuándo mata un proceso Android? Crear o Añadir Módulos Módulos Compartidos Atributos de Módulo

#AdditionalJar #ExcludeFromLibrary

Visibilidad y Vida Útil de las Variables y Subs Resumen Variables Públicas Variables Privadas Variables dentro de Subs Visibilidad de las Subrutinas Variables Globales en Módulo Actividad Class_Globals Variables Locales en Subs

Documentación de Módulos Documentando una Clase Documentando un Módulo de Servicio, Actividad o Código

Sub Process_Globals Módulos que Contienen Process_Globals Variables Process_Globals Inicialización de Process_Globals Duración de las variables Process_Globals Process_Globals en el Servicio Starter Restricción de Variables en Process_Globals Rotar el Dispositivo Como accede a Variables Process_Globals

Módulo de Actividad (Activity) El Concepto de Actividad Módulo Actividad

Page 10: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos x

Atributos de la Actividad Variables dentro de una Actividad Ciclo de Vida de una Actividad Eventos de la Actividad Sub Activity_Create (FirstTime As Boolean) Sub Activity_Resume Sub Activity_Pause (UserClosed As Boolean) StartActivity (Activity As Object) Activity.Finish vs ExitApplication Crear un Menú Actividades vs Formularios Windows Múltiples Módulos de Actividad

Módulo de Clase ¿Qué es una Clase? Beneficios de las Clases Ejemplo Sub Class_Globals Variables Públicas vs Privadas Subs Públicos vs Privados Clases vs Tipos Clases vs Módulos de Código Añadir un Módulo de Clase Estructuras de Clases Polimorfismo Auto-Referencia Clases y el Objeto Actividad Actividades que extienden las clases Limitaciones de las Clases

Módulo de Código Módulo de Servicio

Por qué usar un servicio Como interactúa el usuario con un Servicio Alternativa a una Actividad El Servicio Starter Los Servicios vistos por Android Como iniciar un Servicio Iniciar un servicio mientras la App está en segundo plano Cuándo Terminan los Servicios Wake Lock (bloqueo de activación) Código de Servicio Atributos de los Servicios SubRoutines (Subrutinas) Cuando Usar un Servicio Notificaciones Accediendo a otros módulos Ejemplos de Proyectos Usando Servicios

2.10 Publicando y Monetizando su App Ayuda al Usuario Branding and Marketing (estrategia de marca y comercialización) Configurando los Parámetros del Proyecto

Nombre del Paquete Atributos del Proyecto

Configuración de Iconos Icono de Google Play Store Icono de Inicio [Proyecto > Elegir Icono] Iconos Action Bar Crear Iconos Fuentes de Iconos Implementando MipMap

Page 11: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xi

Recomendaciones para iconos de Notificación Medidas de los Iconos Instalación de Iconos

Generando su APK Archivo APK Claves y Certificados Firma Certificados de Depuración La Firma para Distribución Creación o Carga de una Clave Privada El Depósito de Claves (KeyStore) Compilando el APK Huella digital del certificado SHA1

Monetizando su App Formas de Monetizar su App

Librerías de soporte a la Publicidad AdMob AdBuddiz AdiQuity TapForTap AppLovin

Vender su App Facturación In-App Licencias

Registrarse como Desarrollador en Google Play Como registrarse como un Desarrollador en Google Play Cuenta de Vendedor

Prepare la página de inicio de su App en Google Play Apoyo al Usuario Consola de desarrollador de Google Play Subir su App a Google Play

Distribuir Apps por otros canales Preparación del dispositivo del usuario Amazon Appstore Por Correo Electrónico Descarga desde un sitio web Otros publicadores de Apps

2.11 Obtener más ayuda Anywhere Software Foro Sala de Chat Video Tutoriales Tutoriales en Línea Facebook Twitter Linked In Documentación en Línea Guías en PDF Explorador de Librerías

B4a Object Browser B4AHelp

Parte 3: Lenguaje y Objetos básicos de B4A

3.1 El Lenguaje de B4A BASIC B4A

Reglas del Léxico Separador de declaraciones Comentarios Dividir líneas muy largas

Page 12: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xii

Variables Constantes Tipos

Tipos Primitivos Literales Hexadecimales Tipos No-Primitivos Tipos Básicos Pasar por Referencia los tipos No-Primitivos Conversión de Tipos Rank Creando sus propios Tipos

Objectos Inicializació de Objetos

Declaración de Variables Sentencia Dim No Opción Explicita Avisos del editor sobre variables no declaradas Asignación de Valores Verificación de Tipo Uso de Variables no asignadas Pasar por Valor Pasar por Referencia

Nombres de Variables Notación Hungará

Arrays (Matrices) Dimensiones Declarando un Array Tipo por Defecto No se puede cambiar las dimensiones Guardando y Recuperando Datos Rellenar un array utilizando la palabra clave Array Tamaño de un Array Arrays de Objetos Las Dimensiones del Array son Fijas

Lists (Listas) Maps (Mapas) Type. Definir tipos de variables

Declaración de Tipos Tipos Recursivos

Casting Visibilidad de las Variables Expresiones y Operadores

Expresiones matemáticas Operadores Relacionales Operadores Lógicos Expresiones Regulares

Sentencias Condicionales If – Then If-Then-End If If-Then-Else-End If Select – Case

Estructuras de Bucle For – Next For-Each Do-While Do-Until Salir de un Bucle Diferencias entre B4A y Visual Basic

Subs Declarando un Sub

Page 13: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xiii

Nombre de un Sub LLamar a un Sub Parámetros Valor de retorno Creando Tooltips para Subs

Subs Reanudables Se pueden pausar Contiene Sleep o Wait For El Sub reanudable está en pausa Tipo ResumableSub Sleep Wait For

Eventos Eventos básicos de los Objetos Respuesta a un Evento Ejemplo Gestor de Eventos Compartido View Events Eventos de vista más comunes

Control de Errores Errores en Tiempo de Ejecución Excepciones Excepciones en tiempo de ejecución no capturadas Try-Catch Cuando utilizer un Try-Catch

Manipulación de cadenas Cadenas Mutables Las funciones de Cadenas Formateado de números

Palabras Clave

Abs (Number As Double) As Double

ACos (Value As Double) As Double

ACosD (Value As Double) As Double

Array

Asc (Char As Char) As Int

ASin (Value As Double) As Double

ASinD (Value As Double) As Double

ATan (Value As Double) As Double

ATan2 (Y As Double, X As Double) As Double

ATan2D (Y As Double, X As Double) As Double

ATanD (Value As Double) As Double

BytesToString (Data() As Byte, StartOffset As Int, Length As Int, CharSet As String) As String

CallSub (Component As Object, Sub As String) As String

CallSub2 (Component As Object, Sub As String, Argument As Object) As String

CallSub3 (Component As Object, Sub As String, Argument1 As Object, Argument2 As Object) As

String

CallSubDelayed (Component As Object, Sub As String)

CallSubDelayed2 (Component As Object, Sub As String, Argument As Object)

CallSubDelayed3 (Component As Object, Sub As String, Argument1 As Object, Argument2 As

Object)

CancelScheduledService (Service As Object)

Catch

cE As Double

Ceil (Number As Double) As Double

Page 14: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xiv

CharsToString (Chars() As Char, StartOffset As Int, Length As Int) As String

Chr (UnicodeValue As Int) As Char

ConfigureHomeWidget (LayoutFile As String, EventName As String, UpdateIntervalMinutes As Int,

WidgetName As String) As RemoteViews

Continue

Cos (Radians As Double) As Double

CosD (Degrees As Double) As Double

cPI As Double

CreateMap() As Map

CRLF As String

Density As Float

Dim

DipToCurrent (Length As Int) As Int

DoEvents

Exit

ExitApplication

False As Boolean

File As File

Floor (Number As Double) As Double

For

For Each

GetDeviceLayoutValues As LayoutValues

GetType (object As Object) As String

If

InputList (Items As List, Title As String, CheckedItem As Int) As Int

InputListAsync (Items As List, Title As CharSequence, CheckedItem As Int, Cancelable As Boolean)

As Object

InputMap (Items As Map, Title As String)

InputMapAsync (Items As Map, Title As CharSequence, Cancelable As Boolean) As Object

InputMultiList (Items As List, Title As String) As List

Is

IsBackgroundTaskRunning (ContainerObject As Object, TaskId As Int) As Boolean

IsDevTool (ToolName As String) As Boolean

IsNumber (Text As String) As Boolean

IsPaused (Component As Object) As Boolean

LastException As Exception

LoadBitmap (Dir As String, FileName As String) As Bitmap

LoadBitmapResize (Dir As String, FileName As String, Width As Int, Height As Int, KeepAspectRatio

As Boolean) As Bitmap

LoadBitmapSample (Dir As String, FileName As String, MaxWidth As Int, MaxHeight As Int) As

Bitmap

Log (Message As String)

Logarithm (Number As Double, Base As Double) As Double

LogColor (Message As String, Color As int) As void

Max (Number1 As Double, Number2 As Double) As Double

Me As Object

Min (Number1 As Double, Number2 As Double) As Double

Msgbox (Message As CharSequence, Title As CharSequence)

Page 15: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xv

Msgbox2 (Message As CharSequence, Title As CharSequence, Positive As String, Cancel As String,

Negative As String, Icon As Bitmap) As Int

MsgboxAsync (Message As CharSequence, Title As CharSequence, Positive As String)

Msgbox2Async (Message As CharSequence, Title As CharSequence, Positive As String, Cancel As

String, Negative As String, Icon As Bitmap, Cancelable As Boolean) As Object

Not (Value As Boolean) As Boolean

Null As Object

NumberFormat (Number As Double, MinimumIntegers As Int, MaximumFractions As Int) As String

NumberFormat2 (Number As Double, MinimumIntegers As Int, MaximumFractions As Int,

MinimumFractions As Int, GroupingUsed As Boolean) As String

PerXToCurrent (Percentage As Float) As Int

PerYToCurrent (Percentage As Float) As Int

Power (Base As Double, Exponent As Double) As Double

ProgressDialogHide

ProgressDialogShow (Text As String)

ProgressDialogShow2 (Text As String, Cancelable As Boolean)

QUOTE As String

Regex As Regex Regex Options Regex Methods

Return [value]

Rnd (Min As Int, Max As Int) As Int

RndSeed (Seed As Long)

Round (Number As Double) As Long

Round2 (Number As Double, DecimalPlaces As Int) As Double

Select

Sender As Object

Sin (Radians As Double) As Double

SinD (Degrees As Double) As Double

Sleep (Milliseconds As int) As void

Sqrt (Value As Double) As Double

StartActivity (Activity As Object)

StartService (Service As Object)

StartServiceAt (Service As Object, Time As Long, DuringSleep As Boolean)

StartServiceAtExact (Service As Object, Time As Long, DuringSleep As Boolean)

StopService (Service As Object)

Sub

SubExists (Object As Object, Sub As String) As Boolean

TAB As String

Tan (Radians As Double) As Double

TanD (Degrees As Double) As Double

ToastMessageShow (Message As String, LongDuration As Boolean)

True As Boolean

Try

Type

Until

Wait For [(Sender)] <Event Signature>

While

3.2 VB6 versus B4A

Page 16: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xvi

Controless vs. Vistas Dim ReDim Operaciones Boleanas

Not Uso de números enteros como booleanos

Global Const Estructuras de repetición

For…Next Loops, If-Then, Select Case Exit ElseIf/EndIf

Colores Subroutinas

Declaración de Sub LLamando una Sub

Funciones Exit Sub DoEvents Format InputBox Bucle MsgBox Números aleatorios

Rnd RndSeed Randomize

Round Val() SetFocus Divide por Zero Shell Timer TabIndex Ajuste de Transparencia de Label Constantes String “Members”

Left$ y Right$ Len Replace Case Trim Instr

Intercepción de errores VB6 B4A

“Immediate Window” vs. Pestaña “Logs”

3.3 Objetos básicos Lista de Objetos básicos

General Constants Drawing Objects File Objects Views

Actividad Vistas dentro de una Actividad Eventos de Actividad ActionBarHomeClick Click Eventos KeyPress y KeyUp

Page 17: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xvii

LongClick PermissionResult (Permission As String, Result As Boolean) Touch (Action As Int, X As Float, Y As Float) Miembros de Activity

ACTION_DOWN As Int

ACTION_MOVE As Int

ACTION_UP As Int

AddMenuItem (Title As String, EventName As String)

AddMenuItem2 (Title As String, EventName As String, Bitmap1 As Bitmap)

AddMenuItem3 (Title As String, EventName As String, Bitmap1 As Bitmap, AddToActionBar As

Boolean)

AddView (View1 As View, Left As Int, Top As Int, Width As Int, Height As Int)

Background As Drawable

CloseMenu

Color As Int [write only]

DisableAccessibility (Disable As Boolean)

Finish

GetAllViewsRecursive As IterableList

GetStartingIntent As Intent

GetView (Index As Int) As View

Height As Int

Initialize (EventName As String)

Invalidate

Invalidate2 (Rect1 As Rect)

Invalidate3 (Left As Int, Top As Int, Right As Int, Bottom As Int)

IsInitialized As Boolean

Left As Int

LoadLayout (Layout As String) As LayoutValues

NumberOfViews As Int [read only]

OpenMenu

RemoveAllViews

RemoveViewAt (Index As Int)

RequestFocus As Boolean

RerunDesignerScript (Layout As String, Width As Int, Height As Int)

SendToBack

SetActivityResult (Result As Int, Data As Intent)

SetBackgroundImage (Bitmap1 As Bitmap) As BitmapDrawable

SetLayout (Left As Int, Top As Int, Width As Int, Height As Int)

Tag As Object

Title As CharSequence

TitleColor As Int

Top As Int

Width As Int Application

Miembros de Application

Icon As Bitmap

LabelName As String

PackageName As String

VersionCode As Int

Page 18: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xviii

VersionName As String Bit

Operaciones de bits Miembros:

And (N1 As Int, N2 As Int) As Int

ArrayCopy ( SrcArray As Object, SrcOffset As Int, DestArray As Object, DestOffset As Int, Count As

Int ) As Void

InputStreamToBytes (In As Inputstream) As Byte()

Not (N As Int) As Int

Or (N1 As Int, N2 As Int) As Int

ParseInt (Value As String, Radix As Int) As Int

ShiftLeft (N As Int, Shift As Int) As Int

ShiftRight (N As Int, Shift As Int) As Int

ToBinaryString (N As Int) As String

ToHexString (N As Int) As String

ToOctalString (N As Int) As String

UnsignedShiftRight (N As Int, Shift As Int) As Int

Xor (N1 As Int, N2 As Int) As Int Constantes

Colors DialogResponse Gravity KeyCodes Typeface

CSBuilder CharSequence Estilo con CSBuilder PopAll es muy recomendable Encadenamiento de Métodos CSBuilder Uso de un objeto CSBuilder Miembros

Alignment ( Alignment As android.text.Layout.Alignment ) As CSBuilder

Append ( Text As java.lang.CharSequence ) As CSBuilder

BackgroundColor ( Color As int ) As CSBuilder

Bold As CSBuilder

Clickable ( EventName As String, Tag As Object ) As CSBuilder

Color ( Color As int ) As anywheresoftware.b4a.objects.CSBuilder

EnableClickEvents ( Label As android.widget.TextView ) As void

Image ( Bitmap As Bitmap, Width As Int, Height As Int, Baseline As Boolean ) As CSBuilder

Initialize As CSBuilder

IsInitialized As Boolean

Length As Int [read only]

Pop As CSBuilder

PopAll As CSBuilder

RelativeSize ( Proportion As float ) As CSBuilder

ScaleX ( Proportion As float ) As CSBuilder

Size ( Size As int ) As CSBuilder

Strikethrough As CSBuilder

ToString As java.lang.String

Typeface ( Typeface As android.graphics.Typeface ) As CSBuilder

Underline As CSBuilder

Page 19: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xix

VerticalAlign ( Shift As int ) As CSBuilder DateTime

Miembros:

Add (Ticks As Long, Years As Int, Months As Int, Days As Int) As Long

Date (Ticks As Long) As String

DateFormat As String

DateParse (Date As String) As Long

DateTimeParse (Date As String, Time As String) As Long

DeviceDefaultDateFormat As String [read only]

DeviceDefaultTimeFormat As String [read only]

GetDayOfMonth (Ticks As Long) As Int

GetDayOfWeek (Ticks As Long) As Int

GetDayOfYear (Ticks As Long) As Int

GetHour (Ticks As Long) As Int

GetMinute (Ticks As Long) As Int

GetMonth (Ticks As Long) As Int

GetSecond (Ticks As Long) As Int

GetTimeZoneOffsetAt (Date As Long) As Double

GetYear (Ticks As Long) As Int

ListenToExternalTimeChanges

Now As Long [read only]

SetTimeZone (OffsetHours As Double)

TicksPerDay As Long

TicksPerHour As Long

TicksPerMinute As Long

TicksPerSecond As Long

Time (Ticks As Long) As String

TimeFormat As String

TimeParse (Time As String) As Long

TimeZoneOffset As Double [read only] Objetos para dibujar

Bitmap BitmapDrawable Canvas ColorDrawable GradientDrawable Path Rect StateListDrawable

Exception Miembros:

IsInitialized As Boolean

Message As String [solo lectura] Objeto File

Nombre de Archivos Añadiendo Archivos a su Proyecto Ubicaciones de Carpetas en el Dispositivo Codificación de Texto File InputStream OutputStream TextReader

Page 20: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xx

TextWriter Intent

Miembros:

Action As String

ACTION_APPWIDGET_UPDATE As String

ACTION_CALL As String

ACTION_EDIT As String

ACTION_MAIN As String

ACTION_PICK As String

ACTION_SEND As String

ACTION_VIEW As String

AddCategory (Category As String)

ExtrasToString As String

Flags As Int

GetData As String

GetExtra (Key As String) As Object

HasExtra (Key As String) As Boolean

Initialize (Action As String, URI As String)

Initialize2 (URI As String, Flags As Int)

IsInitialized As Boolean

PutExtra (Name As String, Value As Object)

SetComponent (Component As String)

SetType (Type As String)

WrapAsIntentChooser (Title As String) LayoutValues

Miembros:

ApproximateScreenSize As Double [read only]

Height As Int

Scale As Float

toString As String

Width As Int List

Como usar una Lista Miembros:

Map Como usar un Map Miembros:

MediaPlayer Evento: Complete Miembros:

Duration As Int [read only]

Initialize

Initialize2 (EventName As String)

IsInitialzied As Boolean

IsPlaying As Boolean

Load (Dir As String, FileName As String)

Looping As Boolean

Pause

Play

Position As Int

Release

Page 21: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxi

SetVolume (Right As Float, Left As Float)

Stop Notificación

Permisos: Miembros:

AutoCancel As Boolean [write only]

Cancel (Id As Int)

Icon As String [write only]

Initialize

Initialize2 (ImportanceLevel As Int)

Insistent As Boolean [write only]

IsInitialized As Boolean

Light As Boolean [write only]

Notify (Id As Int)

Number As Int

OnGoingEvent As Boolean [write only]

SetInfo (Title As String, Body As String, Activity As Object)

SetInfo2 (Title As String, Body As String, Tag As String, Activity As Object)

Sound As Boolean [write only]

Vibrate As Boolean [write only] Regex

Regex As Regex Más sobre Regex Opciones Miembros Regex:

CASE_INSENSITIVE

IsMatch (Pattern As String, Text As String) As Boolean

IsMatch2 (Pattern As String, Options As Int, Text As String) As Boolean

Matcher (Pattern As String, Text As String) As Matcher

Matcher2 (Pattern As String, Options As Int, Text As String) As Matcher

MULTILINE

Replace (Pattern As String, Text As String, Template As String) As String()

Replace2 (Pattern As String, Options As Int, Text As String, Template As String) As String()

Split (Pattern As String, Text As String) As String()

Split2 Objeto Matcher Métodos de comparación:

RemoteViews Eventos: Miembros:

HandleWidgetEvents (StartingIntent As Intent) As Boolean

SetImage (ImageViewName As String, Image As Bitmap)

SetProgress (ProgressBarName As String, Progress As Int)

SetText (ViewName As String, Text As String)

SetTextColor (ViewName As String, Color As Int)

SetTextSize (ViewName As String, Size As Float)

SetVisible (ViewName As String, Visible As Boolean)

UpdateWidget Servicio

Miembros:

StartForeground (Id As Int, Notification1 As Notification)

Page 22: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxii

StopForeground (Id As Int) Cadenas

Cadenas Inmutables Cadenas Mutables Formateado de números Smart Strings Miembros:

CharAt (Index As Int) As Char

CompareTo (Other As String) As Int

Contains (SearchFor As String) As Boolean

EndsWith (Suffix As String) As Boolean

EqualsIgnoreCase (other As String) As Boolean

GetBytes (Charset As String) As Byte()

IndexOf (SearchFor As String) As Int

IndexOf2 (SearchFor As String, Index As Int) As Int

LastIndexOf (SearchFor As String) As Int

LastIndexOf2 (SearchFor As String, Index As Int) As Int

Length As Int

Replace (Target As String, Replacement As String) As String

StartsWith (Prefix As String) As Boolean

SubString (BeginIndex As Int) As String

SubString2 (BeginIndex As Int, EndIndex As Int) As String

ToLowerCase As String

ToUpperCase As String

Trim As String StringBuilder

Miembros:

Append (Text As String) As StringBuilder

Initialize

Insert (Offset As Int, Text As String) As StringBuilder

IsInitialized As Boolean

Length As Int [read only]

Remove (StartOffset As Int, EndOffset As Int) As StringBuilder

ToString As String Timer

Event: Tick Ejemplo: Miembros:

Enabled As Boolean

Initialize (EventName As String, Interval As Long)

Interval As Long

IsInitialized As Boolean Vistas (Views)

AutoCompleteEditText Button CheckBox CustomView EditText HorizontalScrollView ImageView Label ListView

Page 23: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxiii

Panel ProgressBar RadioButton ScrollView SeekBar Spinner TabHost ToggleButton View WebView

3.4 Código en Línea Devolviendo datos a B4A

Parte 4: Librerías

4.1 Librerías Introducción

¿Qué es una librería? Tipos de Librerías

Librería Principal Librerías Estándar Librerías Oficiales Adicionales Librerías de Usuario Adicionales Carpeta de librerías adicionales Como indicar al IDE dónde se encuentran las librerías adicionales Mensaje de error "¿Falta una referencia de librería?" Actualización de las Librerías Internas

Referenciando Librerías Aviso sobre las Librerías no Utilizadas Uso de Librerías Actualización de Librerías Adicionales Uso del código en línea para acceder a las librerías

Creación de Librerías Beneficios de la creación de Librerías

Preparación de su Librería Excluir la Actividad Main

Atributos Específicos de Librería Atributos del Proyecto Atributos del Módulo Atributos de Clases

Como compilar una Librería Salida Librerías de widgets sin pantalla de inicio

Como publicar su librería

4.2 Librerías Estándar incluidas en la Versión Completa Introducción Lista de Librerías Estándar Librería de Accesibilidad

Lista de tipos: Accesibilidad Miembros:

GetUserFontScale As Float

SetContentDescription (View1 As View, Content As CharSequence)

SetNextFocusDown (ThisView As View, NextView As View)

SetNextFocusLeft (ThisView As View, NextView As View)

SetNextFocusRight (ThisView As View, NextView As View)

SetNextFocusUp (ThisView As View, NextView As View) Librería Administrador

Enlace en línea AdminManager

Page 24: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxiv

Librería de Animación Animation

Librería Audio Lista de tipos: AudioRecordApp AudioStreamer Beeper JetPlayer MediaPlayerStream SoundPool VideoRecordApp VideoView

Librería B4XEncryption B4XCipher

Librería BitmapCreator Lista de tipos: ARGBColor BitmapCreator DrawTask PremultipliedColor

Librería CallSubUtils (heredada) CallSubUtils RunDelayedData

Librería Camera Clase CameraEx Lista de tipos: Camera

Librería Camera2 Camera2 CameraSize

Librería ContentResolver Lista de tipos: ContentResolver ContentValues Uri

Librería DateUtils DateUtils

Libería Daydream Daydream

Librería FirebaseAdMob Lista de tipos: AdView InterstitialAd NativeExpressAd RewardedVideoAd

Librería FirebaseAnalytics FirebaseAnalytics

Librería FirebaseAuth FirebaseAuth FirebaseUser

Librería FirebaseNotifications FirebaseMessaging RemoteMessage

Librería FirebaseStorage FirebaseStorage StorageMetadata

Librería GameView Tutorial Lista de tipos: BitmapData

Page 25: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxv

GameView Librería GPS

Lista de tipos: GPS GPSSatellite Location

Librería HTTP (Legacy) Lista de tipos: HttpClient HttpRequest HttpResponse

Librería HttpUtils2 (Legacy) HttpJob

Librería IME IME

Librería JavaObject JavaObject

Librería JSON Acerca de JSON JSONGenerator JSONParser

Librería KeyValueStore2 KeyValueStore

Librería LiveWallpaper LWEngine LWManager

Librería Network Lista de tipos: ServerSocket Socket UDPPacket UDPSocket

Librería NFC Librería versión 2.01 A cerca de NFC NdefRecord NFC TagTechnology

Librería OkHttp Lista de tipos: OkHttpClient OkHttpRequest OkHttpResponse

Librería OkHttpUtils2 HttpJob HttpUtils2Service MultipartFileData

Librería Phone CallItem CallLog Contact Contacts [Objeto antiguo] Contacts2 ContentChooser Email LogCat PackageManager Phone PhoneAccelerometer [Objeto antiguo] PhoneCalls

Page 26: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxvi

PhoneEvents PhoneId PhoneIntents PhoneOrientation [Objeto antiguo] PhoneSensors PhoneSms PhoneVibrate PhoneWakeState RingtoneManager Sms SmsInterceptor SmsMessages VoiceRecognition

Librería de Activity de Preferencias Limitaciones de PreferenceActivity Lista de tipos: PreferenceCategory PreferenceManager PreferenceScreen

Librería RandomAccessFile AsyncStreams B4XSerializator CompressedStreams CountingInputStream CountingOutputStream RandomAccessFile

Librería Reflection Notas Reflector

Librería RuntimePermissions RuntimePermissions

Librería Serial Lista de tipos: BluetoothAdmin Serial

Librería Sip Lista de tipos: Sip SipAudioCall

Librería SQL Lista de tipos: Cursor ResultSet SQL

Librería StringUtils StringUtils

Librería TTS TTS

Librería USB Lista de tipos: MtpDevice UsbAccessory UsbDevice UsbDeviceConnection UsbEndpoint UsbInterface UsbManager UsbRequest

Librería ViewsEx FloatLabeledEditText

Page 27: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxvii

RatingBar Switch

Librería xCustomListView CLVItem CustomListView

Librería XmlSax XML Sax Atributos SaxParser

Librería XUI Lista de tipos: B4XBitmap B4XCanvas B4XFont B4XPath B4XRect B4XView XUI

4.3 Módulos y Librerías Adicionales Introducción

Encontrar Librerías Adicionales Carpeta de Librerías Adicionales Indicar al IDE dónde encontrar librerías adicionales

Librerías y Clases Oficiales Adicionales Adiquity AdMob AnotherDatePicker class AsyncStreamsText Analytics Audio Bluetooth Low Energy Camera CameraEx DBUtils DropBox Sync Excel Facebook User Authentication Firebase RemoteConfig GamePad Google Play Services HttpServer InAppBilling JSch JTidy Licensing NB6 Net Librería NotificationListener OAuth PayPal SearchView SMB Speak Button SQLCipher StateManager Librería StdActionBar TableView Tap for Tap USB Host

Page 28: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxviii

USBSerial XMLBuilder YouTube

Librerías de Usuario Adicionales Introducción Para obtener o actualizar una librería de usuario ¿Cuáles son las que necesita un proyecto? Como usar una librería

Lista de librerías Librerías de Usuario Adicionales Descarga de Librerías de Usuarios

Plantillas de Clase a medida Como crear una librería Como compartir tu librería

Licencia Librería de Diálogos

Fuente Notas ColorDialog ColorDialogHSV ColorPickerDialog CustomDialog CustomDialog2 DateDialog FileDialog InputDialog NumberDialog TimeDialog

Librería TabHostExtras getTabContentViewPadding (tabHost1 As TabHost) As RectWrapper getTabEnabled (tabHost1 As TabHost, index As Int) As Boolean getTabHeight (tabHost1 As TabHost) As Int getTabHostPadding (tabHost1 As TabHost) As RectWrapper getTabTextSize (tabHost1 As TabHost) As Float getTabVisibility (tabHost1 As TabHost, index As Int) As Boolean setTabContentViewPadding (tabHost1 As TabHost, left As Int, top As Int, right As Int, bottom As Int) setTabEnabled (tabHost1 As TabHost, enabled As Boolean) setTabEnabled2 (tabHost1 As TabHost, enabled As Boolean, index As Int) setTabGradientDrawable (tabHost1 As TabHost, orientation As String, color1 As Int, color2 As Int,

cornerRadius As Float) setTabGradientDrawable2 (tabHost1 As TabHost, orientation As String, color1 As Int, color2 As Int,

cornerRadius As Float()) setTabHeight (tabHost1 As TabHost, tabHeight As Int) setTabHostPadding (tabHost1 As TabHost, left As Int, top As Int, right As Int, bottom As Int) setTabTextColor (tabHost1 As TabHost, Color As Int) setTabTextColorStateList (tabHost1 As TabHost, ColorStateListName As String) setTabTextSize (tabHost1 As TabHost, TextSize As Float) setTabTitle (tabHost1 As TabHost, Title As String, TabIndex As Int) setTabVisibility (tabHost1 As TabHost, visible As Boolean) setTabVisibility2 (tabHost1 As TabHost, visible As Boolean, index As Int)

Librería Toggle

Parte 5: Herramientas y servicios externos

5.1 Servicios Firebase ¿Qué es Firebase? Integración de servicios Firebase en B4A

Más información sobre las API de Google para Android Servicios de Firebase soportados en B4A

FirebaseAnalytics: Analytics & crash reports Notifications / Push messages Publicidad de AdMob

Page 29: Tabla de Contenido - Penny Press Ltd · Comandos SQLite Creación de Base de Datos Creación de Tablas Eliminar una Table Añadiendo registros Actualización de registros Consulta

Tabla de Contenidos xxix

Autenticación con cuentas de Facebook o Google Firebase RemoteConfig Más Información

Proyecto Google API Agregar los fragmentos de Firebase

5.2 Repositorios Maven Proyecto Apache Maven Repositorios Maven Maven artifacts Repositorios de Android SDK y maven Herramientas Beneficios

5.3 Soporte de Librería AAR Introducción Añadir referencia a AAR Incluyendo librerías AAR en Apps de B4A

Ejemplo 1 Ejemplo 2

Índice