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
  • Notification sobre la inactividad de las aplicaciones
  • 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 de 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 Android:
  • 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 Android:
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 controles de description), aunque disponibles en la edición, no son compatibles con las aplicaciones de Android.
  • Versiones 21 y posteriores
    Puedes usar un gradiente para el fondo Color de los bordes control.
    Nueva funcionalidad versión 21
    Puedes usar un gradiente para el fondo Color de los bordes control.
    Puedes usar un gradiente para el fondo Color de los bordes control.
Bases de datos
Para las aplicaciones Android, las bases de datos disponibles 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. Ver Aplicación Android: Uso e intercambio de datos para más detalles.
  • 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. Vea Acceso a una base de datos a través de un servicio web para más detalles.
    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. Vea Acceso a una base de datos a través de un servicio web para más detalles.
    También tiene la posibilidad de acceder a una base de datos externa (Oracle, SQL Server,...) a través de un Webservice. Vea Acceso a una base de datos a través de un servicio web para más detalles.
Menús de aplicación
En una aplicación Android, las opciones de aplicación pueden ser propuestas:
  • a través de la Action Bar control. 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 automatic ("Más") permite al usuario ver el resto del menú como un menú desplegable.
  • Los menús de las aplicaciones Android admiten un único 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 único nivel de submenú.
  • En los aparatos sin "clic derecho" (teléfonos por ejemplo), los menús emergentes se muestran después de una "pulsación larga" en el control al que están associated.
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 de niño o hermano puede llamar a una Procedure local de la ventana que la abrió para pasarle un valor de retorno. Un valor de retorno también puede ser devuelto a través de un Variable global.
  • Versiones 18 y posteriores
    Puede especificar el valor de retorno a través del ..ReturnedValue Property de la ventana hija y recuperar este valor a través del Event "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 del ..ReturnedValue Property de la ventana hija y recuperar este valor a través del Event "Cerrar una ventana hija de la ventana" de la ventana padre.
    Puede especificar el valor de retorno a través del ..ReturnedValue Property de la ventana hija y recuperar este valor a través del Event "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 la ventana "cerrando" Event. 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 ser inicializado con un valor por defecto y el botón "Back" debe ser considerado como un botón "Cancel".
Observación: Tienes la capacidad de cambiar este comportamiento y de ejecutar un Process personalizado (para pedir confirmación al usuario por ejemplo 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 control description).

Botón Inicio

Pulsando el botón "Inicio" no se cierra la aplicación actual.: la aplicación se traslada a la Background. La ventana "Cerrando" Event 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 de Default no puede ser cambiado.
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.
Notification sobre la inactividad de las aplicaciones
El sistema operativo Android no permite que una aplicación permanezca en un Process (sin devolver el control al sistema operativo) durante más de unos segundos. Si este caso ocurre, Android muestra un cuadro de diálogo que permite al usuario cerrar la aplicación o esperar el final de la Process:

Android: La aplicación no responde
To para evitar activar este mecanismo, los pasos de cálculo no deben ser incluidos en el Thread principal de la aplicación. Para ello, utilizar procedimientos iniciados en hilos secundarios (ver ThreadExecute para más detalles).
Observación: No se recomienda manipular elementos de la UI de una aplicación desde 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 el UI controlado con el dedo (o con un lápiz) como el UI controlado con un teclado y un trackball, Android ofrece un sistema para gestionar el enfoque y la selección que es 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 foco, se ejecuta la entrada y salida de Event 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 Event "Selección de un fila" en los controles List Box y Looper se ejecuta sólo cuando se selecciona el fila con un clic.
  • El Event "Selección de un fila" en los controles List Box y Looper no se ejecuta cuando el fila (con el foco) cambia.
Atención: En una caja de List 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á marcada en la ventana description, se añade automáticamente una barra de desplazamiento 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. Cree un Procedure global en su proyecto.
  2. En el encabezado de la Procedure, haz clic en el símbolo "WL" para cambiar el tipo de código de WLanguage a Java:
    Java nativo antes
  3. El Procedure en código Java se muestra:
    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.. Vea Generar una aplicación para Android para más detalles.
  • 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 un reference sobre un objeto "Contexto". En un proyecto Android, durante la entrada de código nativo, tienes la posibilidad de recuperar un objeto "Contexto" obteniendo un reference 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 Procedure en código nativo:
    // Get the current activity
    getCurrentActivity()

    // Get the current "Context"
    getApplicationContext()
  • Para recuperar el objeto View correspondiente al componente principal de control, debes usar el método getView mientras le pasas el nombre control.
    Ejemplo: El siguiente código devuelve la instancia de la clase "Botón" utilizada por la control:
    getView("BTN_Button1")
Gestión de directorios
La gestión de directorios en Android presenta las siguientes características específicas:
  • Por Default, el directorio actual de una aplicación corresponde al subdirectorio "files" 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 Default, tienes la capacidad 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 Default, las aplicaciones se instalan siempre en el directorio /data/data/<nombre del paquete>.<nombre de la aplicación>.
  • En Android, el sistema de archivos es de solo lectura tanto en el dispositivo y como en el emulador. Una aplicación tiene derecho a escribir en el directorio de instalación o en uno de los 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 Phone.
Para obtener más detalles, consulte:
Cambio de la orientación de la pantalla
Para detectar el cambio de orientación de la pantalla, use la Event "Cambio de orientación" en las ventanas.
Versiones 16 y posteriores
También puedes usar Funciones de SensorXXXX para detectar los movimientos de Phone..
Nueva funcionalidad versión 16
También puedes usar Funciones de SensorXXXX para detectar los movimientos de Phone..
También puedes usar Funciones de SensorXXXX para detectar los movimientos de Phone..
Observación: El Funciones GPS le permite gestionar la geolocalización del Phone.
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 configuración del Androide description, 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.. Tienes la habilidad de usar el manejo de automatic de DPI. Vea a Android/iOS: Proporcionar un Image por DPI para más detalles.
    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.. Tienes la habilidad de usar el manejo de automatic de DPI. Vea a Android/iOS: Proporcionar un Image por DPI para más detalles.
    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.. Tienes la habilidad de usar el manejo de automatic de DPI. Vea a Android/iOS: Proporcionar un Image por DPI para más detalles.
  • Los estilos CSS de las imágenes SVG no son compatibles con Android.
Gestión de hilos
ThreadStop no está disponible en Android.
El hilo puede detenerse al salir del WLanguage Procedure 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 indirecta sobre una variable local de un Process desencadenará 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 Phone. Se utiliza un software específico para Process y ver 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).. Ver Preparar teléfono para probar una aplicación Android para más detalles).
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