PC SOFT

AYUDA EN LÍNEA
DE WINDEV, WEBDEV Y WINDEV MOBILE

Este contenido proviene de una traducción automática.. Haga clic aquí para ver la versión original en inglés.
  • Presentación
  • Elementos de proyecto disponibles
  • Controles disponibles
  • Bases de datos
  • Menús de aplicación
  • Menús contextuales
  • Ventanas modales
  • Gestión de los botones "Atrás" y "Inicio
  • Botón Atrás
  • Botón Inicio
  • Notificación sobre la inactividad de la aplicación
  • Modo de funcionamiento de enfoque y selección
  • Barras de desplazamiento automáticas en las ventanas
  • Uso de un código Java nativo en una aplicación Android
  • Gestión de directorios
  • Cambio de la orientación de la pantalla
  • Varios
  • Gestión de hilos
  • Operadores indirectos
  • Uso de fuentes Android nativas
  • Administración de los registros del BAsD
  • Depuración de aplicaciones desplegadas a través de los registros de ADB
  • Impresión en formato PDF
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Otros
Procedimientos almacenados
Elementos de proyecto disponibles
Los siguientes elementos del proyecto están disponibles para el desarrollo de Android:
  • Windows.
  • Consultas.
    Observación: en una consulta con parámetros, todos los parámetros son obligatorios.
  • Clases.
  • Conjuntos de procedimientos.
  • Modelos de ventanas.
Los siguientes elementos no están disponibles para el desarrollo de Androides:
  • Componentes externos.
    Observación: Los componentes internos están disponibles para el desarrollo de Android. Sin embargo, si el componente interno incluye un análisis, este análisis se ignorará durante la ejecución.
  • Informes y plantillas reporte.

Controles disponibles

Los siguientes controles están disponibles para el desarrollo de Androides:
Nueva funcionalidad versión 18
Versiones 19 y posteriores
Nueva funcionalidad versión 19
Versiones 20 y posteriores
Nueva funcionalidad versión 20
Versiones 21 y posteriores
Nueva funcionalidad versión 21
Observaciones:
  • Algunas propiedades de estilo (pestaña "Estilo" de la ventana de descripción de los controles), aunque están disponibles en modo de edición, no son compatibles con las aplicaciones Android.
  • Versiones 21 y posteriores
    Puedes usar un gradiente para el color de fondo de los bordes de control.
    Nueva funcionalidad versión 21
    Puedes usar un gradiente para el color de fondo de los bordes de control.
    Puedes usar un gradiente para el color de fondo de los bordes de control.
Bases de datos
Las bases de datos disponibles para las aplicaciones de Android son:
  • HFSQL (Clásico y Cliente/Servidor),
  • SQLite.
    WINDEV Mobile incluye un Conector Nativo para SLQLite para Android. Los principales comandos de Hxxx están disponibles.
Observaciones:
  • SQLite database: Si su proyecto Android comparte su análisis con otro proyecto (no androide), HChangeConnection puede utilizarse para asociar los archivos de la aplicación con una conexión SQLite. Para obtener más información, consulte Aplicación Android: Uso e intercambio de datos.
  • Gestión de memos con SQLite: Se recomienda almacenar información en formato memo para datos cuyo tamaño es inferior a 1 MB. Los datos en formato de archivo externo deben guardarse en la memoria interna o externa del teléfono y la ruta de acceso a estos datos debe almacenarse en la base de datos.
  • Versiones 19 y posteriores
    También tiene la posibilidad de acceder a una base de datos externa (Oracle, SQL Server,...) a través de un Webservice. Para obtener más información, consulte Acceso a una base de datos a través de un servicio web.
    Nueva funcionalidad versión 19
    También tiene la posibilidad de acceder a una base de datos externa (Oracle, SQL Server,...) a través de un Webservice. Para obtener más información, consulte Acceso a una base de datos a través de un servicio web.
    También tiene la posibilidad de acceder a una base de datos externa (Oracle, SQL Server,...) a través de un Webservice. Para obtener más información, consulte Acceso a una base de datos a través de un servicio web.
Menús de aplicación
En una aplicación Android, las opciones de aplicación pueden ser propuestas:
  • a través del control de Action Bar. Esta solución se recomienda.
  • en formato de menú (no recomendado).
Notas sobre los menús:
  • En edición, los menús de las ventanas de Android se presentan como simples menús desplegables.
  • En tiempo de ejecución, estos menús se mostrarán de forma diferente según el número de opciones:
    • Si el menú contiene menos de 6 opciones, se muestra como botones grandes en la parte inferior de la pantalla.
    • Si el menú contiene más de 6 opciones, las primeras 5 opciones se muestran como botones grandes y un sexto botón automático ("Plus") permite al usuario ver el resto del menú como un menú desplegable.
  • Los menús de las aplicaciones de Android soportan un solo nivel de submenús. Más allá de este límite, se produce un error fatal al ejecutar la aplicación.

Menús contextuales

Los menús emergentes son soportados por WINDEV Mobile para las aplicaciones Android.
  • En el modo de edición, se presentan como los menús desplegables de Windows, pero adoptan la apariencia de los menús de Android en tiempo de ejecución.
  • También se limitan a un solo nivel de submenú.
  • En los dispositivos sin "clic derecho" (por ejemplo, teléfonos), los menús emergentes se muestran después de una "pulsación larga" en el control al que están asociados.
Ventanas modales
Las viudas modales no son compatibles con el sistema operativo Android. Abrir no está permitido.
Las ventanas se pueden abrir:
Para pasar un valor de retorno:
  • Cuando se cierra, una ventana hija o hermana puede llamar a un procedimiento local de la ventana que la abrió para pasarle un valor de retorno.. También se puede devolver un valor de retorno mediante una variable global.
  • Versiones 18 y posteriores
    Puede especificar el valor de retorno a través de la propiedad ..ReturnedValue de la ventana hija y recuperar este valor a través del evento "Cerrar una ventana hija de la ventana" de la ventana padre.
    Nueva funcionalidad versión 18
    Puede especificar el valor de retorno a través de la propiedad ..ReturnedValue de la ventana hija y recuperar este valor a través del evento "Cerrar una ventana hija de la ventana" de la ventana padre.
    Puede especificar el valor de retorno a través de la propiedad ..ReturnedValue de la ventana hija y recuperar este valor a través del evento "Cerrar una ventana hija de la ventana" de la ventana padre.
Gestión de los botones "Atrás" y "Inicio

Botón Atrás

Todos los dispositivos que funcionan en Android incluyen una tecla especial "Back" (simbolizada en la mayoría de los casos por una pequeña flecha que apunta hacia la izquierda).. En una aplicación WINDEV Mobile, esta tecla cierra la ventana actual y ejecuta el evento "closing" de la ventana. Si es la primera ventana de la aplicación, se ejecutará el código de cierre de la aplicación y se cerrará la aplicación.
Una aplicación debe ser desarrollada para que se comporte correctamente si alguna de sus ventanas se cierra con la tecla "Back".. En la mayoría de los casos, cada control de ventana debe inicializarse con un valor por defecto y el botón "Back" debe considerarse como un botón "Cancelar".
Observación: Tiene la capacidad de cambiar este comportamiento y de ejecutar un proceso personalizado (por ejemplo, para pedir confirmación al usuario y evitar cerrar la ventana, especialmente si es la primera ventana de la aplicación).. Para ello, la ventana debe incluir un botón cuyo atajo es "Botón de regreso" (pestaña "UI" en la ventana de descripción del control).

Botón Inicio

Pulsando el botón "Inicio" no se cierra la aplicación actual.: la aplicación se mueve a un segundo plano. La ventana "Evento de cierre" no se ejecuta.
Observación: Incluso si la ventana incluye un botón cuyo atajo (definido en la pestaña "UI") es "'Home' button", el código de este botón no se ejecutará, a diferencia del botón "Back", el comportamiento por defecto no se puede cambiar.
Una pulsación prolongada de la tecla "Home" permite visualizar la lista de las aplicaciones ejecutadas.. Entonces, el usuario puede seleccionar su aplicación cuando quiera moverla al primer plano.
Observación: El sistema Android no permite proponer esta opción por programación.
Notificación sobre la inactividad de la aplicación
El sistema operativo Android no permite que una aplicación permanezca en un proceso (sin devolver el control al sistema operativo) durante más de unos segundos.. En este caso, Android muestra un cuadro de diálogo que permite al usuario cerrar la aplicación o esperar a que finalice el proceso:

Android: La aplicación no responde
Para evitar el desencadenamiento de este mecanismo, los pasos de cálculo no deben incluirse en el hilo conductor de la aplicación. Para ello, utilizar procedimientos iniciados en hilos secundarios (ver ThreadExecute para más detalles).
Observación: Se recomienda encarecidamente que no se utilicen en manipular los elementos de la interfaz de usuario de una aplicación de un hilo secundario.
Los diseñadores de Android recomiendan que una acción del usuario desencadene una reacción de la aplicación en menos de 200 milisegundos para dar una buena impresión de reactividad.
Modo de funcionamiento de enfoque y selección
Para gestionar tanto la interfaz de usuario controlada por el tacto/estilo como la interfaz de usuario controlada por el teclado/bola de seguimiento, Android ofrece un sistema para gestionar el enfoque y la selección diferente de otros sistemas operativos:
  • El enfoque sólo se puede mover con un ratón, un trackball o un dispositivo similar.
  • Cuando se mueve el enfoque, se ejecuta el evento de entrada y salida de los controles.
  • Los controles en los que se puede hacer clic pero que no se pueden editar (botones, list boxes, etc.) se comportan como los controles en interrupción.. No se enfocan cuando reciben un clic.
  • El evento "Selecting a fila" en los controles List Box y Looper se ejecuta sólo cuando se selecciona fila con un clic.
  • El evento "Selecting a fila" en los controles List Box y Looper no se ejecuta cuando cambia el fila (con el foco).
Atención: En un List Box o control Looper, la barra no representa la selección sino sólo el foco.
Barras de desplazamiento automáticas en las ventanas
Si el tamaño de una ventana excede el tamaño de la pantalla y si la opción "Barras de desplazamiento automáticas" está seleccionada en la descripción de la ventana, una barra de desplazamiento se añade de forma automática a la derecha de la ventana. Su presencia debe tenerse en cuenta al diseñar la ventana para que esta barra de desplazamiento no se superponga a los controles.
Uso de un código Java nativo en una aplicación Android
El código Java nativo se puede utilizar en una aplicación Android.
El procedimiento es el siguiente:
  1. Crear un procedimiento global en su proyecto.
  2. En la cabecera del procedimiento, haga clic en el símbolo "WL" para cambiar el tipo de código de WLanguage a Java:
    Java nativo antes
  3. Se muestra el procedimiento en código Java:
    Java nativo después de
  4. Escriba el código Java en el editor de código de WINDEV Mobile.
Observaciones:
  • Si el código Java introducido requiere permisos específicos, éstos deben definirse explícitamente al generar la aplicación.. Para obtener más información, consulte Generar una aplicación para Android.
  • Java distingue entre mayúsculas y minúsculas.: asegúrese de que respeta los caracteres en minúsculas y mayúsculas de los nombres de las funciones
  • Las clases y métodos de Android SDK a menudo manipular una referencia sobre un objeto "Context".. En un proyecto Android, durante la introducción de código nativo, tiene la posibilidad de recuperar un objeto "Context" obteniendo una referencia sobre la actividad actual o sobre el contexto de la aplicación a través de los siguientes métodos que pueden ser llamados directamente en el código de procedimiento en código nativo:
    // Get the current activity
    getCurrentActivity()

    // Get the current "Context"
    getApplicationContext()
  • Para recuperar el objeto View correspondiente al componente de control principal, debe utilizar el método getView al pasar el nombre del control.
    Ejemplo: El siguiente código devuelve la instancia de la clase "Button" utilizada por el control:
    getView("BTN_Button1")
Gestión de directorios
La gestión de directorios en Android presenta las siguientes características específicas:
  • Por defecto, el directorio actual de una aplicación corresponde al subdirectorio "archivos" que se crea automáticamente en la raíz del directorio de configuración de la aplicación.
  • Las rutas relativas manejadas por la aplicación son relativas a este directorio.
  • El ruta completo del directorio actual es devuelto por fCurrentDir. Por defecto, tiene la posibilidad de leer y escribir en este directorio.
  • El directorio actual puede ser modificado por fCurrentDir.
  • El directorio de ejecución (devuelto por fExeDir) corresponde al directorio de configuración de la aplicación. Por defecto, las aplicaciones se instalan siempre en el directorio /data/data/<package name>.<application name>.
  • En Android, el sistema de archivos es de solo lectura tanto en el dispositivo y como en el emulador. Una aplicación tiene los derechos para escribir en su directorio de configuración o en uno de sus subdirectorios, así como en la memoria externa (SDCard).
  • El directorio "databases" también se crea automáticamente en la raíz del directorio de instalación de la aplicación para almacenar las bases de datos SQLite gestionadas por la aplicación (a menos que se haya especificado un ruta específico durante la conexión).. El ruta del directorio de "bases de datos" es devuelto por fDataDir.
  • Para tener una ubicación de almacenamiento común a varias aplicaciones, utilice la memoria externa (por ejemplo, SDCard).. El ruta de un directorio para almacenar archivos en el espacio de almacenamiento externo es devuelto por SysDirExternalStorage.
  • Si el usuario conecta su dispositivo al PC en modo "almacenamiento masivo" (o en modo "unidad de disco"), la tarjeta SD se desinstala automáticamente del dispositivo y ya no es accesible desde el dispositivo. Todas las aplicaciones instaladas en la tarjeta SD y que están en funcionamiento en ese momento son eliminadas. Mientras la tarjeta SD esté desinstalada, no podrá:
    • iniciar las aplicaciones instaladas en la tarjeta SD.
    • acceder a la tarjeta SDCard desde las aplicaciones que se ejecutan en el teléfono.
Para obtener más información, consulte:
Cambio de la orientación de la pantalla
Para detectar el cambio en la orientación de la pantalla, use el evento "Cambiar la orientación" en las ventanas.
Versiones 16 y posteriores
También puedes usar Funciones de SensorXXXX para detectar los movimientos del teléfono..
Nueva funcionalidad versión 16
También puedes usar Funciones de SensorXXXX para detectar los movimientos del teléfono..
También puedes usar Funciones de SensorXXXX para detectar los movimientos del teléfono..
Observación: La Funciones GPS permite gestionar la geolocalización del teléfono.
Varios
  • En Android, por razones de seguridad, las teclas "Home" y "End of call" no pueden utilizarse como accesos directos.
  • Para usar el tema "Diseño de materiales", en la pestaña "General" de la descripción de la configuración de Android, marque "Aplicar tema Material Design a los controles nativos y ventanas Info/Error/Diálogo".
  • Versiones 20 y posteriores
    Gestión de imágenes según el DPI: Las imágenes pueden ser mapas de bits o borrosas de acuerdo con el DPI del dispositivo.. Tiene la posibilidad de utilizar la gestión automática de DPI. Para obtener más información, consulte Android/iOS: Proporcionar una imagen por DPI.
    Nueva funcionalidad versión 20
    Gestión de imágenes según el DPI: Las imágenes pueden ser mapas de bits o borrosas de acuerdo con el DPI del dispositivo.. Tiene la posibilidad de utilizar la gestión automática de DPI. Para obtener más información, consulte Android/iOS: Proporcionar una imagen por DPI.
    Gestión de imágenes según el DPI: Las imágenes pueden ser mapas de bits o borrosas de acuerdo con el DPI del dispositivo.. Tiene la posibilidad de utilizar la gestión automática de DPI. Para obtener más información, consulte Android/iOS: Proporcionar una imagen por DPI.
  • Los estilos CSS de las imágenes SVG no son compatibles con Android.
Gestión de hilos
En Android, la función ThreadStop no está disponible.
El hilo puede detenerse por sí mismo al salir del procedimiento WLanguage llamado por ThreadExecute.
Ejemplo:
ThreadExecute("th", threadNormal, ProcThread)
PROCEDURE ProcThread

bThreadAlive is boolean = True
WHILE bThreadAlive

// ... Process

// Checks the end condition of the thread
IF <THREAD END CONDITION> THEN
bThreadAlive = False
END
END
Operadores indirectos
El indirecciones se apoya en las variables globales solamente.
Una indirección sobre una variable local de un proceso dará a trigger un error de "elemento desconocido".
Uso de fuentes Android nativas
Versiones 19 y posteriores
Se pueden utilizar las siguientes fuentes:
  • Droid Sans,
  • Droid Sans Mono,
  • El droide Serif,
  • Roboto,
  • Roboto Condensado,
  • Roboto Light,
  • Roboto Thin.
Si la fuente especificada no está soportada en el dispositivo en tiempo de ejecución, se utilizará una fuente de sustitución (Roboto).
Nueva funcionalidad versión 19
Se pueden utilizar las siguientes fuentes:
  • Droid Sans,
  • Droid Sans Mono,
  • El droide Serif,
  • Roboto,
  • Roboto Condensado,
  • Roboto Light,
  • Roboto Thin.
Si la fuente especificada no está soportada en el dispositivo en tiempo de ejecución, se utilizará una fuente de sustitución (Roboto).
Se pueden utilizar las siguientes fuentes:
  • Droid Sans,
  • Droid Sans Mono,
  • El droide Serif,
  • Roboto,
  • Roboto Condensado,
  • Roboto Light,
  • Roboto Thin.
Si la fuente especificada no está soportada en el dispositivo en tiempo de ejecución, se utilizará una fuente de sustitución (Roboto).
Administración de los registros del BAsD

Depuración de aplicaciones desplegadas a través de los registros de ADB

Cuando se despliega una aplicación, los posibles errores de aplicación que se producen en los ordenadores de los usuarios se ponen a disposición del desarrollador de la aplicación en el "registro ADB".
Esto le permite recuperar los errores, así como Aseveraciones y trazas de todos los dispositivos que ejecutan la aplicación.. Los siguientes mensajes se escriben en el registro del ADB:
  • Mensajes de Traza (nivel "Info").
  • Mensajes de dbgStandardOutput (nivel "Debug").
  • Versiones 22 y posteriores
    Mensajes de afirmaciones (dbgAssert, dbgCheckxxx, dbgError) (nivel de "afirmación").
    Nueva funcionalidad versión 22
    Mensajes de afirmaciones (dbgAssert, dbgCheckxxx, dbgError) (nivel de "afirmación").
    Mensajes de afirmaciones (dbgAssert, dbgCheckxxx, dbgError) (nivel de "afirmación").
  • Versiones 22 y posteriores
    Mensajes de errores fatales y no fatales (nivel"Error").
    Nueva funcionalidad versión 22
    Mensajes de errores fatales y no fatales (nivel"Error").
    Mensajes de errores fatales y no fatales (nivel"Error").
El "registro ADB" es accesible:
  • en cada teléfono. Se utiliza un software específico para procesar y visualizar el contenido de este archivo..
  • a través de la herramienta "Monitor" disponible en el SDK de Android. En este caso, tiene la posibilidad de ver (en la pestaña "Log cat") los registros ADB de todas las aplicaciones encontradas en el dispositivo conectado al PC (el modo "USB debug" debe estar habilitado en el dispositivo).. Para obtener más información, consulte Preparar teléfono para probar una aplicación Android).
Impresión en formato PDF
Las impresiones PDF sólo son compatibles con las fuentes estándar de Adobe (sin formato Unicode).: Courrier, Helvetica, Times, Symbol y ZapFDingbats.
Versión mínima requerida
  • Versión 15
Comentarios
Haga clic en [Agregar] para publicar un comentario