AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Ayuda / Desarrollar en Java
  • Presentación
  • ¿Cómo crear un procedimiento en Java?
  • Escribir un procedimiento global en Java
  • Notas importantes
  • Generar la aplicación
  • ¿Cómo ejecutar un procedimiento WLanguage?
  • Ejecutar un procedimiento WLanguage desde el código Java
  • Notas importantes
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Presentación
Puede utilizar código Java:
  • en aplicaciones Java generadas con WINDEV.
  • en aplicaciones Android generadas con WINDEV Mobile.
Esto permite crear procedimientos globales en Java.
Estos procedimientos Java pueden llamar directamente a los procedimientos WLanguage del proyecto.
¿Cómo crear un procedimiento en Java?

Escribir un procedimiento global en Java

Para escribir un procedimiento global en Java:
  1. Cree un nuevo procedimiento global (a través de la opción "Nuevo procedimiento global" del menú contextual de los conjuntos de procedimientos en el panel "Explorador de proyectos"). Especifique el nombre del procedimiento.
  2. El procedimiento se crea en el editor de código.
  3. En el encabezado del procedimiento, haga clic en el ícono "WL" para cambiar el tipo de código.
    Java nativo antes
  4. En la lista que se abre, seleccione "Java".
  5. El encabezado se muestra en color morado y "Java" aparece a la izquierda del nombre del procedimiento. El código existente está en forma de comentario.
    Java nativo después
  6. Escriba el código Java directamente en el editor de código de WINDEV y/o WINDEV Mobile.
Observación: Para volver al código WLanguage, haga clic en "Java" en el encabezado del procedimiento y seleccione "WLanguage".

Notas importantes

  • En los procedimientos Java, los parámetros se pasan automáticamente por valor.
  • Los parámetros de los procedimientos escritos en Java deben ser tipos de datos primitivos (integer, real, string, etc.).
    Atención: No se admite el tipo float, puede reemplazarse por el tipo double.
  • Los valores de retorno de los métodos deben ser de un tipo primitivo (integer, real, string, etc.).
    Atención: No se admite el tipo float, puede reemplazarse por el tipo double.
  • Atención: es necesario importar las clases utilizadas en el código Java nativo con la palabra clave "Import". Se recomienda importar estos elementos antes de declarar el método.
  • Solo se tienen en cuenta los comentarios y los elementos importados en las líneas de código que se encuentran antes del prototipo de la función Java. Cualquier otro código será ignorado y puede provocar un error (especialmente si faltan paréntesis).
  • Java distingue entre mayúsculas y minúsculas: asegúrese de utilizar siempre los mismos caracteres en minúsculas y mayúsculas en los nombres de las funciones.
Android Características específicas de Android:
  • 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 Android.
  • Las clases y métodos del SDK de Android a menudo manipulan una referencia en un objeto de tipo "Context". En un proyecto Android, al escribir código nativo, puede recuperar un objeto de tipo "Context" haciendo referencia a la actividad actual o al contexto de la aplicación mediante los siguientes métodos (estos métodos pueden llamarse directamente en el código del procedimiento):
    // Get the current activity
    getCurrentActivity()

    // Get the current "Context"
    getApplicationContext()
  • Para recuperar el objeto de tipo View que corresponde al componente principal del control, debe utilizar el método getView y pasarle el nombre del control.
    Ejemplo: El siguiente código devuelve la instancia de la clase "Button" utilizada por el control:
    getView("BTN_Button1")

Generar la aplicación

  • Android Las clases Java utilizadas en el código Java nativo deben especificarse en el asistente de generación de la aplicación Android:
    • etapa "Integrar bibliotecas" para clases incluidas en bibliotecas ".jar" o ".aar".
    • etapa "Integrar dependencias Maven" para las dependencias Maven.
      Observación: Estas clases no se pueden probar mediante la opción GO. Es necesario generar la aplicación, y luego ejecutarla.
  • Java Las clases Java utilizadas en el código Java nativo deben especificarse en el asistente de generación de la aplicación Java (etapa "Otros archivos del archivo comprimido").
    Observación: Estas clases no se pueden probar mediante la opción GO. Es necesario generar la aplicación, y luego ejecutarla.
  • Tener en cuenta las clases externas automáticamente: Para tener en cuenta automáticamente las clases Java externas al generar la aplicación:
    • Agregue los archivos a la carpeta "Otros" del panel "Explorador de proyectos" (mediante la opción "Agregar elementos" del menú contextual).
      Atención: Los archivos Java deben estar codificados en UTF-8.
    • Si la clase Java pertenece a un paquete, el paquete debe declararse en la primera línea del archivo. Si no se especifica el paquete, el archivo se ubicará en <Package_AppName>.wdgen con los demás archivos ".java" generados.
¿Cómo ejecutar un procedimiento WLanguage?

Ejecutar un procedimiento WLanguage desde el código Java

Para ejecutar un procedimiento WLanguage desde el código Java, llame a uno de los siguientes métodos en función del tipo de valor devuelto por el procedimiento:
Nombre del métodoTipo Java devuelto
callWLProcedurevoid (ningún valor de retorno)
callWLProcedure_StringString
callWLProcedure_intint
callWLProcedure_doubledouble
callWLProcedure_longlong
callWLProcedure_booleanboolean


En la llamada al método seleccionado:
  • el primer parámetro que se pasa al método es el nombre del procedimiento WLanguage a ejecutar.
  • los otros parámetros corresponden a los parámetros esperados por el procedimiento WLanguage (si es necesario). Puede utilizar parámetros de cualquier tipo simple de Java (string, int, double, long, boolean, etc.). Si el parámetro especificado no corresponde a un tipo simple de Java, se convertirá automáticamente a "string" llamando al método "toString()".
Ejemplo:
Código del procedimiento WLanguage:
GLOBAL procedure MyProcedure(n is int, b is boolean, s is string)
...
RETURN s
Para llamar al procedimiento MyProcedure desde el código Java:
callWLProcedure_String("MyProcedure",5,false,"test")

Notas importantes

  • Si el procedimiento a ejecutar es un procedimiento local, le recomendamos indicar su nombre completo y especificar el nombre del elemento al que pertenece el procedimiento. Ejemplo: "WIN_Window1.MyProcedure".
  • El nombre del procedimiento a ejecutar solo debe contener caracteres alfanuméricos sin acentos.
  • Si el procedimiento a ejecutar devuelve un valor, este valor se convertirá automáticamente al tipo primitivo Java que corresponde al método utilizado para llamar al procedimiento. Si no se puede realizar la conversión, se produce un error fatal.
  • Los parámetros del procedimiento se pasan por valor.
Versión mínima requerida
  • Versión 10
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 26/06/2023

Señalar un error o enviar una sugerencia | Ayuda local