Descubre millones de libros electrónicos, audiolibros y mucho más con una prueba gratuita

Solo $11.99/mes después de la prueba. Puedes cancelar en cualquier momento.

B4A en Español: Desarrollo Rápido de App utilizando BASIC
B4A en Español: Desarrollo Rápido de App utilizando BASIC
B4A en Español: Desarrollo Rápido de App utilizando BASIC
Libro electrónico2372 páginas32 horas

B4A en Español: Desarrollo Rápido de App utilizando BASIC

Calificación: 0 de 5 estrellas

()

Leer la vista previa

Información de este libro electrónico

Android es el sistema operativo móvil más utilizado del mundo y B4A es la herramienta de desarrollo de aplicaciones más rápida y sencilla, que permite a los principiantes crear potentes aplicaciones Android utilizando el lenguaje BASIC, de fácil aprendizaje.

Este libro recoge la versión 8.80 de B4A

IdiomaEspañol
Fecha de lanzamiento10 abr 2019
ISBN9781871281453
B4A en Español: Desarrollo Rápido de App utilizando BASIC
Autor

Wyken Seagrave

Wyken Seagrave is a software engineer with many years' experience of using Visual Basic in multinational companies. He has taught Visual Basic for Applications at university level and written dozens of user manuals for a wide range of applications. He is also a professional author writing websites and books to explain science to a wider audience. He specializes in the history of the universe.

Relacionado con B4A en Español

Libros electrónicos relacionados

Sistemas operativos para usted

Ver más

Artículos relacionados

Comentarios para B4A en Español

Calificación: 0 de 5 estrellas
0 calificaciones

0 clasificaciones0 comentarios

¿Qué te pareció?

Toca para calificar

Los comentarios deben tener al menos 10 palabras

    Vista previa del libro

    B4A en Español - Wyken Seagrave

    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 Pasos para instalar B4A

    Que se necesita para ejecutar B4A

    Cómo manejar los problemas

    Instalación de Java

    Instalar o actualizar Java

    Instalar Java JDK

    Comprobar si Java JDK ya está instalado

    Instalar el Java JDK de 32 bit

    Instalar Android SDK Manager

    Instalar el SDK de Android y una plataforma

    Gestores de Android SDK

    Instalación de Android SDK Manager

    Antiguo Manager: Instale el Android SDK y una plataforma

    Instalar B4A

    Versión de Evaluación de B4A

    Versión Completa de B4A

    Versión Estándar de B4A

    Versión Empresarial de B4A

    Licencia de grupo de B4A

    Licencias Académicas

    Compra

    Registrando B4A

    Instala y configura B4A

    Abrir  B4A

    Licencia

    Configurar las Rutas

    Javac.exe

    Android.jar

    Librerías Adicionales

    Carpeta de Módulos Compartidos

    Actualización a una nueva versión

    1.2 Primeros pasos con B4A

    Lo que se puede ver

    Tu primera App

    Cómo agregar tu primer comando

    Depuración

    Puntos de interrupción (Breakpoints)

    Salvar el programa

    B4A-Bridge

    Instalar B4A-Bridge en tu dispositivo

    Ejecutar B4A-Bridge en tu dispositivo

    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

    Diseñador B4A

    Detener B4A-Bridge

    Compilar tu nueva App

    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

    Copias de Seguridad Automáticas (Auto-Backups)

    1.3 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

    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

    Enfatizar la estructura del código

    URLs que permiten Clic

    Área del menú 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.4 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

    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ú

    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

    Edició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 ?

    Tutorial en Linea

    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)

    Desconectar (Shift+F2)

    Menú Herramientas

    Generar Miembros

    Cambiar Rejilla

    Enviar a UI Cloud (F6)

    Menú Ventanas

    Ventana Propiedades

    Ventana Variantes

    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)

    Compilación Condicional

    Compilador de Línea de Comandos

    Ejecutar desde archivos de lote (Batch Files)

    Depuración

    #ExcludeFromDebugger Attribute

    Depurador Legado vs Rápido

    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 Legada

    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

    B4A AVDManager

    Google AVD Manager

    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

    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

    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 Tabla

    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 acceder a Variables Process_Globals

    Módulo de Actividad (Activity)

    El Concepto de Actividad

    Módulo Actividad

    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

    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

    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ón 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 Húngara

    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

    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 utilizar un Try-Catch

    Manipulación de cadenas

    Cadenas Mutables

    Las funciones de Cadenas

    Formateado de números

    Palabras Clave

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Abs (Number As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ACos (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ACosD (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Array

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Asc (Char As Char) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ASin (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ASinD (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ATan (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ATan2 (Y As Double, X As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ATan2D (Y As Double, X As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ATanD (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png BytesToString (Data() As Byte, StartOffset As Int, Length As Int, CharSet As String) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSub (Component As Object, Sub As String) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSub2 (Component As Object, Sub As String, Argument As Object) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSub3 (Component As Object, Sub As String, Argument1 As Object, Argument2 As Object) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSubDelayed (Component As Object, Sub As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSubDelayed2 (Component As Object, Sub As String, Argument As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CallSubDelayed3 (Component As Object, Sub As String, Argument1 As Object, Argument2 As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CancelScheduledService (Service As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Catch

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png cE As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Ceil (Number As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CharsToString (Chars() As Char, StartOffset As Int, Length As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Chr (UnicodeValue As Int) As Char

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ConfigureHomeWidget (LayoutFile As String, EventName As String, UpdateIntervalMinutes As Int, WidgetName As String) As RemoteViews

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Continue

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Cos (Radians As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CosD (Degrees As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png cPI As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png CreateMap() As Map

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png CRLF As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png Density As Float

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Dim

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png DipToCurrent (Length As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png DoEvents

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Exit

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ExitApplication

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png False As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png File As File

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Floor (Number As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png For

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png For Each

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png GetDeviceLayoutValues As LayoutValues

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png GetType (object As Object) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png If

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png InputList (Items As List, Title As String, CheckedItem As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png InputListAsync (Items As List, Title As CharSequence, CheckedItem As Int, Cancelable As Boolean) As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png InputMap (Items As Map, Title As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png InputMapAsync (Items As Map, Title As CharSequence, Cancelable As Boolean) As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png InputMultiList (Items As List, Title As String) As List

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Is

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png IsBackgroundTaskRunning (ContainerObject As Object, TaskId As Int) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png IsDevTool (ToolName As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png IsNumber (Text As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png IsPaused (Component As Object) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LastException As Exception

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LoadBitmap (Dir As String, FileName As String) As Bitmap

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LoadBitmapResize (Dir As String, FileName As String, Width As Int, Height As Int, KeepAspectRatio As Boolean) As Bitmap

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LoadBitmapSample (Dir As String, FileName As String, MaxWidth As Int, MaxHeight As Int) As Bitmap

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Log (Message As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Logarithm (Number As Double, Base As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LogColor (Message As String, Color As int) As void

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

    Me As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Min (Number1 As Double, Number2 As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Msgbox (Message As CharSequence, Title As CharSequence)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Msgbox2 (Message As CharSequence, Title As CharSequence, Positive As String, Cancel As String, Negative As String, Icon As Bitmap) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png MsgboxAsync (Message As CharSequence, Title As CharSequence, Positive As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Msgbox2Async (Message As CharSequence, Title As CharSequence, Positive As String, Cancel As String, Negative As String, Icon As Bitmap, Cancelable As Boolean) As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Not (Value As Boolean) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png Null As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png NumberFormat (Number As Double, MinimumIntegers As Int, MaximumFractions As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png NumberFormat2 (Number As Double, MinimumIntegers As Int, MaximumFractions As Int, MinimumFractions As Int, GroupingUsed As Boolean) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png PerXToCurrent (Percentage As Float) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png PerYToCurrent (Percentage As Float) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Power (Base As Double, Exponent As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ProgressDialogHide

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ProgressDialogShow (Text As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ProgressDialogShow2 (Text As String, Cancelable As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png QUOTE As String

    Regex As Regex

    Regex Options

    Regex Methods

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Return [value]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Rnd (Min As Int, Max As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png RndSeed (Seed As Long)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Round (Number As Double) As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Round2 (Number As Double, DecimalPlaces As Int) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Select

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Sender As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Sin (Radians As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SinD (Degrees As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Sleep (Milliseconds As int) As void

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SmartStringFormatter ( Format As String , Value As Object ) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Sqrt (Value As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png StartActivity (Activity As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png StartService (Service As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png StartServiceAt (Service As Object, Time As Long, DuringSleep As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png StartServiceAtExact (Service As Object, Time As Long, DuringSleep As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png StopService (Service As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Sub

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SubExists (Object As Object, Sub As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png TAB As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Tan (Radians As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png TanD (Degrees As Double) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png ToastMessageShow (Message As String, LongDuration As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png True As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Try

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Type

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Until

    Wait For [(Sender)]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png While

    3.2 VB6 versus B4A

    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

    Files

    Views

    Actividad

    Vistas dentro de una Actividad

    Eventos de Actividad

    ActionBarHomeClick

    Click

    LongClick

    PermissionResult (Permission As String, Result As Boolean)

    Touch (Action As Int, X As Float, Y As Float)

    Miembros de Activity

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png ACTION_DOWN As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png ACTION_MOVE As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png ACTION_UP As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png AddMenuItem (Title As String, EventName As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png AddMenuItem2 (Title As String, EventName As String, Bitmap1 As Bitmap)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png AddMenuItem3 (Title As String, EventName As String, Bitmap1 As Bitmap, AddToActionBar As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png AddView (View1 As View, Left As Int, Top As Int, Width As Int, Height As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Background As Drawable

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png CloseMenu

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Color As Int  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png DisableAccessibility (Disable As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Finish

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png GetAllViewsRecursive As IterableList

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png GetStartingIntent As Intent

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png GetView (Index As Int) As View

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Height As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Initialize (EventName As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Invalidate

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Invalidate2 (Rect1 As Rect)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png Invalidate3 (Left As Int, Top As Int, Right As Int, Bottom As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Left As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png LoadLayout (Layout As String) As LayoutValues

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png NumberOfViews As Int  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png OpenMenu

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Padding () As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Parent As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png RemoveAllViews

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png RemoveViewAt (Index As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png RequestFocus As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png RerunDesignerScript (Layout As String, Width As Int, Height As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SendToBack

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetActivityResult (Result As Int, Data As Intent)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetBackgroundImage (Bitmap1 As Bitmap) As BitmapDrawable

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetColorAnimated ( Duration As Int , FromColor As Int , ToColor As Int )

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetLayout (Left As Int, Top As Int, Width As Int, Height As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetLayoutAnimated ( Duration As Int , Left As Int , Top As Int , Width As Int , Height As Int )

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png SetVisibleAnimated ( Duration As Int , Visible As Boolean )

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Tag As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Title As CharSequence

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png TitleColor As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Top As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\19.png Width As Int

    Application

    Miembros de Application

    Icon As Bitmap

    LabelName As String

    PackageName As String

    VersionCode As Int

    VersionName As String

    Bit

    Operaciones de bits

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png And (N1 As Int, N2 As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ArrayCopy ( SrcArray As Object, SrcOffset As Int, DestArray As Object, DestOffset As Int, Count As Int ) As Void

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png InputStreamToBytes (In As Inputstream) As Byte()

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Not (N As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Or (N1 As Int, N2 As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ParseInt (Value As String, Radix As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ShiftLeft (N As Int, Shift As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ShiftRight (N As Int, Shift As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToBinaryString (N As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToHexString (N As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToOctalString (N As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png UnsignedShiftRight (N As Int, Shift As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png 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

    Eventos:

    Click (Tag As Object)

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Alignment ( Alignment As android.text.Layout.Alignment ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Append ( Text As java.lang.CharSequence ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png BackgroundColor ( Color As int ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Bold As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Clickable ( EventName As String, Tag As Object ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Color ( Color As int ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png EnableClickEvents ( Label As android.widget.TextView ) As void

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Image ( Bitmap As Bitmap, Width As Int, Height As Int, Baseline As Boolean ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Length As Int [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Pop As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png PopAll As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png RelativeSize ( Proportion As float ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ScaleX ( Proportion As float ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Size ( Size As int ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Strikethrough As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToString As java.lang.String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Typeface ( Typeface As android.graphics.Typeface ) As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Underline As CSBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png VerticalAlign ( Shift As int ) As CSBuilder

    DateTime

    Eventos:

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Add (Ticks As Long, Years As Int, Months As Int, Days As Int) As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Date (Ticks As Long) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png DateFormat As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png DateParse (Date As String) As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png DateTimeParse (Date As String, Time As String) As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png DeviceDefaultDateFormat As String  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png DeviceDefaultTimeFormat As String  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetDayOfMonth (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetDayOfWeek (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetDayOfYear (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetHour (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetMinute (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetMonth (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetSecond (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetTimeZoneOffsetAt (Date As Long) As Double

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetYear (Ticks As Long) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ListenToExternalTimeChanges

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Now As Long  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetTimeZone (OffsetHours As Double)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png TicksPerDay As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png TicksPerHour As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png TicksPerMinute As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png TicksPerSecond As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Time (Ticks As Long) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png TimeFormat As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png TimeParse (Time As String) As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png TimeZoneOffset As Double  [read only]

    Objetos para dibujar

    Bitmap

    BitmapDrawable

    Canvas

    ColorDrawable

    GradientDrawable

    Path

    Rect

    StateListDrawable

    Exception

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Message As String  [solo lectura]

    Files

    Nombre de Archivos

    Añadiendo Archivos a su Proyecto

    Ubicaciones de Carpetas en el Dispositivo

    Codificación de Texto

    File Object

    InputStream

    OutputStream

    TextReader

    TextWriter

    Intent

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Action As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_APPWIDGET_UPDATE As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_CALL As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_EDIT As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_MAIN As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_PICK As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_SEND As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png ACTION_VIEW As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png AddCategory (Category As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ExtrasToString As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Flags As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetData As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetExtra (Key As String) As Object

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png HasExtra (Key As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize (Action As String, URI As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize2 (URI As String, Flags As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png PutExtra (Name As String, Value As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetComponent (Component As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetPackage (PackageName As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetType (Type As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png WrapAsIntentChooser (Title As String)

    LayoutValues

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png ApproximateScreenSize As Double  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png Height As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png Scale As Float

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png toString As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\11.png Width As Int

    List

    Como usar una Lista

    Miembros:

    Map

    Como usar un Map

    Miembros:

    Objeto Matcher

    Métodos de comparación:

    MediaPlayer

    Evento:

    Complete

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Duration As Int  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize2 (EventName As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialzied As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsPlaying As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Load (Dir As String, FileName As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Looping As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Pause

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Play

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Position As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Release

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetVolume (Right As Float, Left As Float)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Stop

    Notificación

    Permisos:

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png AutoCancel As Boolean  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Cancel (Id As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Icon As String  [write only]

    IMPORTANCE_DEFAULT As Int

    IMPORTANCE_HIGH As Int

    IMPORTANCE_LOW As Int

    IMPORTANCE_MIN As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize2 (ImportanceLevel As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Insistent As Boolean  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Light As Boolean  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Notify (Id As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Number As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png OnGoingEvent As Boolean  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetInfo (Title As String, Body As String, Activity As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetInfo2 (Title As String, Body As String, Tag As String, Activity As Object)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Sound As Boolean  [write only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png 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

    RemoteViews

    Eventos:

    RequestUpdate

    Disabled

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png HandleWidgetEvents (StartingIntent As Intent) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetImage (ImageViewName As String, Image As Bitmap)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetProgress (ProgressBarName As String, Progress As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetText (ViewName As String, Text As String)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetTextColor (ViewName As String, Color As Int)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetTextSize (ViewName As String, Size As Float)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SetVisible (ViewName As String, Visible As Boolean)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\15.png UpdateWidget

    Servicio

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png AUTOMATIC_FOREGROUND_ALWAYS As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png AUTOMATIC_FOREGROUND_NEVER As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png AUTOMATIC_FOREGROUND_WHEN_NEEDED As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png AutomaticForegroundMode As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Images\11.png AutomaticForegroundNotification As Notification

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png StartForeground (Id As Int, Notification1 As Notification)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png StopAutomaticForeground

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png StopForeground (Id As Int)

    Cadenas

    Cadenas Inmutables

    Cadenas Mutables

    Formateado de números

    Smart Strings

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png CharAt (Index As Int) As Char

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png CompareTo (Other As String) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Contains (SearchFor As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png EndsWith (Suffix As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png EqualsIgnoreCase (other As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png GetBytes (Charset As String) As Byte()

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IndexOf (SearchFor As String) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IndexOf2 (SearchFor As String, Index As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png LastIndexOf (SearchFor As String) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png LastIndexOf2 (SearchFor As String, Index As Int) As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Length As Int

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Replace (Target As String, Replacement As String) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png StartsWith (Prefix As String) As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SubString (BeginIndex As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png SubString2 (BeginIndex As Int, EndIndex As Int) As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToLowerCase As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToUpperCase As String

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Trim As String

    StringBuilder

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Append (Text As String) As StringBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Insert (Offset As Int, Text As String) As StringBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Length As Int  [read only]

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Remove (StartOffset As Int, EndOffset As Int) As StringBuilder

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png ToString As String

    Timer

    Event: Tick

    Ejemplo:

    Miembros:

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Enabled As Boolean

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png Initialize (EventName As String, Interval As Long)

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\19.png Interval As Long

    G:\SkyDrive\PennySystems\Android\Basic4Android\Book\Libraries\Images\15.png IsInitialized As Boolean

    Vistas (Views)

    AutoCompleteEditText

    Button

    CheckBox

    CustomView

    EditText

    HorizontalScrollView

    ImageView

    Label

    ListView

    Panel

    ProgressBar

    RadioButton

    ScrollView

    SeekBar

    SingleLineLayout

    Spinner

    TabHost

    ToggleButton

    TwoLinesAndBitmapLayout

    TwoLinesLayout

    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 B4X

    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

    Introducción

    Lista de Librerías Estándar

    Librería de Accesibilidad

    Lista de tipos:

    Accesibilidad

    Miembros:

    http://www.basic4ppc.com/android/help/images/15.png GetUserFontScale As Float

    http://www.basic4ppc.com/android/help/images/15.png SetContentDescription (View1 As View, Content As CharSequence)

    http://www.basic4ppc.com/android/help/images/15.png SetNextFocusDown (ThisView As View, NextView As View)

    http://www.basic4ppc.com/android/help/images/15.png SetNextFocusLeft (ThisView As View, NextView As View)

    http://www.basic4ppc.com/android/help/images/15.png SetNextFocusRight (ThisView As View, NextView As View)

    http://www.basic4ppc.com/android/help/images/15.png SetNextFocusUp (ThisView As View, NextView As View)

    Librería Administrador

    Enlace en línea

    AdminManager

    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

    BCBrush

    BCPath

    BitmapCreator

    CompressedBC

    DrawTask

    InternalAntiAliasingBuffer

    InternalBCColumn

    InternalBCPathColumnData

    InternalBCPathPointData

    InternalCanvasDrawTask

    InternalCompressedBCCache

    PremultipliedColor

    BLE2 Library

    BleManager2

    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

    Librería Daydream

    Daydream

    Librería FirebaseAdMob

    Lista de tipos:

    AdRequestBuilder

    AdView

    ConsentManager

    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

    GameView

    Librería GPS

    Lista de tipos:

    GPS

    GPSSatellite

    Location

    Librería HTTP (Legacy)

    Librería HttpUtils2 (Legacy)

    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

    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

    RatingBar

    Switch

    TouchPanelCreator

    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

    XUI2D Library

    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 Maps v2

    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

    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

    4.4 Librerías B4X

    Librería de vistas XUI

    Vistas XUI:

    Diálogos XUI:

    Plantillas XUI:

    Librería X2

    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

    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

    Prólogo de Erel Uziel

    En 2005 comencé a desarrollar Basic4ppc, una herramienta de desarrollo para dispositivos de Pocket PC de Microsoft (más tarde renombrada a Windows Mobile). Para mi fue un verdadero desafío crear un nuevo entorno de desarrollo y lenguaje de programación. Cinco años más tarde, cuando Microsoft decidió detener de desarrollo de Windows Mobile a favor de una plataforma diferente, y con las primeras señales del nuevo sistema operativo Android, decidí que era el momento de cambiar de dirección y nació B4A. Tuve la rara oportunidad de replantear las cosas desde el principio y, a continuación, con las muchas lecciones aprendidas del proyecto anterior, crear una herramienta de desarrollo sencilla y poderosa para construir  aplicaciones nativas de Android.

    Desde su primera versión, B4A ha mejorado drasticamente. Hoy, B4A admite el 99% de las características avanzadas de Android. Son compatibles características tales como NFC, Wifi-Direct, puertos serie, gráficos y muchos más, y todas las funciones están diseñadas para ser fáciles de usar pero lo suficientemente potentes como para cumplir con los requisitos del mundo real.

    B4A se usa en empresas, organizaciones, institutos educativos y personas de todo el mundo. Sinceramente, creo que B4A es la mejor herramienta de desarrollo para aplicaciones nativas de Android disponible en la actualidad. B4A junto con B4i y B4J permite a los desarrolladores construir fácilmente soluciones multiplataforma nativas.

    Con los años, una comunidad en línea muy activa ha evolucionado en torno a B4A. Esta comunidad es el corazón de B4A. En nuestros foros, hay cientos de miles de mensajes con preguntas, respuestas, ejemplos, errores, tutoriales, clases y Librerías. El ecosistema alrededor de B4A es enorme.

    Muchos clientes han pedido un libro completo y exhaustivo que les sirva de ayuda para su propio desarrollo. Me emocioné al saber que Wyken asumió la difícil tarea de mapear este ecosistema. Me complace decir que Wyken, un desarrollador de software con experiencia y autor, ha hecho un gran trabajo.

    Estoy seguro que este libro te ayudará a comenzar rápidamente con el desarrollo de tus propias aplicaciones de Android.

    ¡Espero verte pronto pasar a formar parte de nuestra comunidad!

    Erel Uziel

    Director General, Anywhere Software

    Prólogo

    Introducción

    Este libro describe las características y cómo desarrollar aplicaciones de Android utilizando la versión 8.80 de B4A.

    B4A es ampliamente reconocido como la herramienta de desarrollo rápido de aplicaciones (RAD en inglés) más simple y potente disponible para Android. Se utiliza por decenas de miles de desarrolladores entusiastas. Una lista completa de sus características y beneficios se puede encontrar aquí.

    Para quien es este libro

    Este libro sirve a dos tipos de desarrolladores:

    Para el Principiante

    Para los nuevos usuarios en B4A, nuevos en el lenguaje BASIC, o incluso nuevos en programación, este libro contiene tutoriales paso a paso para el principiante. Explica todo lo que necesita saber para utilizar este sencillo y emocionante entorno de diseño y desarrollo de aplicaciones[1], para crear su aplicación en dispositivos Android y venderla en el menor tiempo posible sin tener que pasar por la ardua curva de aprendizaje de Java.

    Para el Profesional

    Para los desarrolladores experimentados de B4A, este libro reúne una amplia gama de material de referencia nunca antes reunido en un solo lugar y lo organiza en una forma de fácil acceso.

    Contiene todos los términos clave utilizados por el núcleo del lenguaje y sus librerías oficiales. Incluye ejemplos para mostrar cómo se utiliza el código y enlaces a más información en línea.

    Cómo está organizado este libro

    Parte 1 – Conceptos Básicos

    Comenzamos con un tutorial que le guía paso a paso en el proceso de instalación de B4A, conectándola a su dispositivo, luego diseñando, escribiendo, ejecutando y depurando su primera aplicación de Android.

    Explicamos todas las características del Entorno de Desarrollo Integrado.

    Parte 2 – Creando su App

    Aquí entramos en detalle a través del proceso de creación de una aplicación real, incluidos los principios de diseño, la forma en que su aplicación puede comunicarse con el usuario, cómo puede usar secuencias de comandos de diseño (Scripts) o anclajes (Anchors) para modificar automáticamente el diseño de su aplicación para adaptarse a diferentes dispositivos, y cómo compilar, depurar y probar su aplicación utilizando dispositivos ya sean reales o virtuales.

    Hablamos sobre la creación de gráficos y bases de datos. Examinamos cómo los procesos, servicios y activities[2] funcionan y finalizan en Android (ciclo de vida de Activity y Servicios). Analizamos los diferentes tipos de módulos que pueden crearse, examinamos las formas en que puede ganar dinero con su aplicación y finalmente exploramos como puede obtener más ayuda en el uso de B4A.

    Parte 3 – Lenguaje y Objetos básicos de B4A

    Las partes 3 y 4 forman las secciones de referencia de este libro.

    La Parte 3 incluye dos capítulos de material de referencia que cubren cada parte del lenguaje y los objetos del núcleo de B4A (es decir, aquellos Objetos que van a ser accesibles desde todas las aplicaciones).

    También realizamos comparaciones del lenguaje de B4A con Visual Basic de Microsoft.

    Parte 4 – Librerías

    En esta sección de referencia discutiremos sobre las Librrías y explicaremos cómo crear sus propias Librerías y compartirlas con otros (si así lo desea). Proporcionamos detalles completos de las Librerías estándar y se explican algunas de las muchas Librerías y módulos adicionales, incluidos todos los oficiales creados por Anywhere Software, que se puede descargar desde el sitio web de B4A. También presentamos las Librerías B4X, que normalmente contienen componentes que pueden ser reutilizables en distintas plataformas.

    Convenciones usadas en este libro

    Código

    Ejemplos de código B4A se mostrarán con sangría, como esta:

    Sub Activity_Create(FirstTime As Boolean)

    Msgbox(¡Bienvenido a B4A!, )

    End Sub

    El código dentro de otro texto, generalmente se muestra con esta fuente: Sub Activity_Create. Sin embargo, esto no siempre es posible, ya que las versiones digitales de este libro incluyen muchos enlaces (para facilitar la búsqueda de partes relacionadas del libro), donde el código no puede tener una fuente diferente.

    También usamos la misma fuente para resaltar las opciones en los cuadros de diálogo en pantalla.

    Descripción de los Menús

    En este libro especificamos los menús B4A rodeándolos con corchetes [] y separando las partes con el símbolo >. Por ejemplo, lo siguiente se mostraría como [Editar > Copiar]:

    Especificando Argumentos de Funciones

    Cuando especificamos los tipos de argumentos que se utilizan en las llamadas a las funciones, adoptaremos una convención diferente a la utilizada en la documentación en línea de B4A, que incluye la ruta completa a los tipos de argumentos, por ejemplo:

    DrawBitmap (Bitmap1 As android.graphics.Bitmap, SrcRect As android.graphics.Rect, DestRect As android.graphics.Rect)

    Nos resulta difícil de leer, por lo que en este libro simplemente escribiremos:

    DrawBitmap (Bitmap1 As Bitmap, SrcRect As Rect, DestRect As Rect)

     La razón por la que se especifican las rutas completas en la documentación en línea, es que los tipos B4A, como Bitmap, son en realidad envolturas (wrappers[3]) para la clase completa de Java. Esto permite mayor flexibilidad para extender el lenguaje B4A en el futuro. Pero en la mayoría de los casos no necesitarás preocuparte por esto cuando desarrolles tus aplicaciones.

    Acrónimos

    Usamos los siguientes acrónimos en este libro:

    Recursos

    Los recursos para apoyar este libro se pueden encontrar aquí.

    La principal fuente de apoyo es la comunidad activa de desarrolladores entusiastas de todo el mundo que ya usan B4A y están muy contentos de ayudar a otros que tienen problemas.

    Consulte el capítulo obtener más ayuda para más detalles.

    Actualizaciones gratuitas

    Los clientes que compran una versión digital de este libro en la tienda de Penny Press tienen derecho a actualizaciones gratuitas cuando presentamos nuevas ediciones para que coincidan con los cambios y actualizaciones en B4A. Lamentablemente no podemos proporcionar actualizaciones gratuitas a la versión física en papel. El sitio web de actualización está aquí.

    Boletín Informativo

    Para recibir avisos sobre estas actualizaciones de la versión digital y otras noticias sobre este libro, suscríbase al boletín (newsletter).

    Quisiéramos conocer tu opinión

    Esperamos que disfrute de este libro y lo encuentre útil. A pesar de nuestros mejores esfuerzos, todavía puede haber errores en este libro. El editor estaría agradecido si los lectores envían informes de errores, junto con cualquier sugerencia de mejora para futuras ediciones, a

    b4a@pennypress.co.uk

    Gracias.

    También le estaríamos muy agradecidos si se tomara el tiempo para evaluarlo en el sitio web principal de Amazon: USA Amazon site

    Sobre el Autor

    Wyken Seagrave es un desarrollador profesional de aplicaciones y sitios web que utilizan Visual Basic, Visual Basic para Aplicaciones, PHP y MySQL, entre otros lenguajes. Ha enseñado programación en la universidad y ha escrito muchos manuales de usuario para las aplicaciones que ha desarrollado.

    Su gran pasión en la vida es llevar el conocimiento de la historia del universo a un público más amplio. Con este fin, ha escrito libros y sitios web relacionados con el tema, tanto de ficción como no ficción, incluido el sitio web Historia del Universo (también disponible como libro electrónico en Amazon) y la serie Time Crystal.

    Agradecimientos

    Gracias a Erel Uziel y Anywhere Software por crear y dar soporte a B4A, a Klaus Christl por su excelente documentación, a Bob Paehr por corregir toda la primera edición, a Bob y Kevin y por hacer valiosas sugerencias, a Dave, Paul Holthuizen, Kevin y Peter Sobol por señalar numerosos errores tipográficos, a Javier Párraga González por su trabajo en la traducción al español y Roer García por su minuciosa revisión, a Johann Stock por plantear una serie de cuestiones, así como por su trabajo en la traducción del libro al alemán, y a Vladimir Shirkina por su traducción al ruso y a toda la comunidad de usuarios de B4A por crear Librerías y muchos otros recursos de valor incalculable.

    Wyken Seagrave

    Parte 1: Conceptos Básicos

    Comenzamos con un tutorial que le guiará paso a paso en el proceso de instalación de B4A, conectándola a su dispositivo, luego diseñando, escribiendo, ejecutando, y depurando su primera aplicación de Android.

    Explicamos todas las características del Entorno de Desarrollo Integrado.

    1.1 Pasos para instalar B4A

    Nota: B4A se ejecuta en PC con Windows 2000 y superior, tanto en sistemas de 32 bits como de 64 bits.

    Lo siguiente es una explicación ampliada de las instrucciones de instalación descritas en la web de B4A.

    Que se necesita para ejecutar B4A

    Necesitará un PC con Windows y al menos 512Mb de RAM.

    B4A necesita que se instale Java, Java JDK y Android SDK en el PC. Para más detalles vea a continuación.

    Puede probar su App (aplicación de Android) en un emulador (un dispositivo virtual que se ejecuta en su PC) o en un dispositivo real. Recomendamos disponer de un dispositivo real disponible ya que generalmente lleva menos tiempo instalar su aplicación en este que en un emulador y las aplicaciones que se ejecutan allí generalmente lo harán más rápido.

    Si usa un dispositivo real, debería ejecutar Android 1.6 o superior (es decir, Android 2.x, 3.x, etc.).

    Cómo manejar los problemas

    Si tiene problemas con cualquiera de los pasos de instalación que se detallan a continuación, debe consultar aquí la versión de Internet de las instrucciones de instalación.

    Instalación de Java

    Ahora visitaremos el oscuro mundo de Java. Por fortuna, ha elegido B4A así que ¡nuestra visita será relativamente breve!

    Instalar o actualizar Java

    Tenga en cuenta que Java oficialmente se llama Java SE Runtime Environment, donde SE significa Standard Edition.

    Versión de Java Requerida

    Debe tener al menos Java 8 instalado en su PC. Se recomienda instalar la última versión de Java, especialmente si está actualizando a una nueva versión de B4A.

    Instalar, verificar o actualizar Java

    Si no tiene Java instalado en su PC, visite https://www.java.com/en/ y siga los enlaces para obtener una descarga gratuita.

    Si no está seguro si ya tiene Java en su máquina, o si desea verificar que tiene la última versión de prueba, visite https://www.java.com/en/download/installed.jsp y comprobará si su versión de Java está desactualizada y le ofrecerá actualizarla.

    Se recomienda hacerlo cada vez que instale una nueva versión de B4A.

    Instalar Java JDK

    Comprobar si Java JDK ya está instalado

    Java JDK es el kit de desarrollo de Java, que incluye herramientas útiles para desarrollar y probar programas escritos en Java y que se ejecutan en la plataforma Java.

    Es posible que desee verificar si Java JDK ya está instalado en su PC.

    Abra la Ventana [Panel de Control > Aplicaciones y Característiucas] y busque un archive llamado Java SE Development Kit…seguido por algo como… 8 Update 25.

    Si ya tienes JDK 64 Bit

    En algunos casos, el instalador del Android SDK (que se describe más adelante) no encuentra JDK 64bit. Por lo tanto, se recomienda instalar la versión de 32 bits del JDK. Sin embargo, si el SDK ya está instalado, debería funcionar. Omita el siguiente paso y proceda a instalar el SDK de Android. Si encuentra el JDK entonces está bien. Si falla, vuelva al paso siguiente e instale la versión de 32 bits de JDK.

    Instalar el Java JDK de 32 bit

    Para todas las máquinas, incluso de 64 bits, se recomienda seleccionar Windows x86 de 32 bits en la lista de plataformas. Esto se debe a que en algunos casos el instalador del Android SDK no encuentra JDK 64bit. Vea la nota anterior si ya tiene el JDK de 64 bits.

    Instalación

    El primer paso debe ser instalar el Java JDK, también conocido como Java SE Development Kit, donde SE significa Standard Edition. Los pasos son:

    - Ir a la página web de descarga de Java SE Development Kit 8 aquí.

    Hay una gran cantidad de Kits de Desarrollo, pero normalmente el primero de arriba es suficiente. No elija una descarga de Demostraciones y Muestras.

    - Marque el botón de opción de Aceptar Contrato de Licencia.

    - Seleccione Windows x86 (32-bit) en la lista de plataformas.

    - Haga clic en el enlace para descargar el JDK

    - Descargue el exe correspondiente y ejecútelo.

    Esto normalmente instalará el JDK de Java en C:\Program Files\Java\jdk1.8.x_xx donde x son números.

    Instalar Android SDK Manager

    Instalar el SDK de Android y una plataforma

    El kit de desarrollo de software de Android (SDK) es un conjunto completo de herramientas de desarrollo que incluye un depurador, librerías, un emulador de dispositivos, documentación, código de ejemplo y tutoriales. Proporciona las librerías API y herramientas de desarrollo para crear, probar y depurar aplicaciones para Android, y es necesario para poder utilizar B4A.

    Gestores de Android SDK

    Para instalar y gestionar los elementos del SDK de Android se utilizará un Android SDK Manager. Hay dos tipos.

    El nuevo gestor es una herramienta de línea de comandos a la que el propio SDK Manager de B4A le asigna un interfaz GUI[5].

    La mayoría de los usuarios nuevos de B4A utilizarán este gestor que se encuentra bien integrado en B4A.

    Su uso es más conveniente que el gestor anterior porque normalmente podrá ejecutarlo directamente desde dentro de B4A haciendo clic en [Herramientas > SDK Manager] o [Herramientas > Configurar rutas > Abrir SDK Manager]. Esto debería abrir el B4A Sdk Manager.

    El gestor más antiguo es una herramienta de interfaz gráfica de usuario (GUI) que originalmente formaba parte de Android Studio. Ahora se ha eliminado de Android Studio. En el momento de escribir este apartado, todavía podía descargarse el instalador desde aquí.  Los desarrolladores que ya tienen el administrador más antiguo pueden continuar utilizándolo.

    Instalación de Android SDK Manager

    Descargar la Herramienta de Línea de Comandos de Android SDK

    Haga clic aquí y descargará el fichero sdk-tools-windows-4333796.zip.

    O también puede encontrar la última versión en la página web de Android Studio.

    https://developer.android.com/studio/index.html#command-tools

    Descargue el paquete de herramientas de Windows SDK. En el momento de escribir esto, se corresponde con el fichero zip de más arriba.

    Note que no se requiere Android Studio completo.

    Descomprima el fichero de Android SDK

    Arrastre con el botón derecho del ratón el archivo zip a la unidad C. En la ventana emergente seleccione Extraer. Introduzca o busque un destino como C:\android-sdk y extraiga los archivos.

    Instalación de los Componentes de Android SDK

    Hasta el momento no ha instalado todavía ningún componente de Android SDK.

    Esto se realizará más tarde, después de haber instalado B4A, utilizando el B4A SKD Manager.

    El proceso se describe aquí.

    Antiguo Manager: Instale el Android SDK y una plataforma

    Necesita instalar el SDK pero no necesita el paquete ADT (que incluye una versión del Eclipse IDE, ¡ya que usará el (muy superior) B4A!.).

    Instalar B4A

    Versión de Evaluación de B4A

    Hay dos versiones de B4A: la versión de evaluación y la versión completa. Las principales diferencias son:

    Precio: la versión de evaluación es GRATUITA! El precio de la versión completa depende del producto que usted compre.

    Tamaño del proyecto: es limitado para la versión gratuita.

    Duración: la versión gratuita sólo funciona durante 30 días. La versión completa funcionará por tiempo indefinido, aunque el tiempo durante el cual reciba actualizaciones gratuitas dependerá de la licencia que haya adquirido.

    El proceso de instalación es parecido en ambas versiones.

    Versión Completa de B4A

    Soporta librerías (una parte importante de B4A) y te dan acceso completo al foro B4A. Las aplicaciones desarrolladas con B4A son libres de derechos de autor. Puede vender cualquier número de aplicaciones desarrolladas. La versión completa solo es compatible con la compilación local, no con el modo de compilación remota. Las licencias son por desarrollador. Cada desarrollador requiere una licencia.

    Versión Estándar de B4A

    Una única licencia de desarrollador con 2 meses de actualizaciones gratuitas y acceso completo al foro B4A. Comprar ahora

    Versión Empresarial de B4A

    2 años de actualizaciones gratuitas con una única licencia de desarrollador. Comprar ahora

    Licencia de grupo de B4A

    2 años de actualizaciones gratuitas para hasta 30 desarrolladores en un solo sitio, cada uno con acceso completo al foro B4A. Comprar ahora

    Licencias Académicas

    Las licencias académicas (para estudiantes, profesores e investigadores) están disponibles a mitad de precio. Contacta con support@basic4ppc.com e incluye tus datos académicos.

    Compra

    Puedes usar Paypal para comprar cualquiera de las versiones anteriores aquí.

    Después

    ¿Disfrutas la vista previa?
    Página 1 de 1