sql >> Base de Datos >  >> RDS >> Mysql

¿Vincular el progreso de una consulta a una propiedad de progreso de una barra de progreso para informar al usuario del tiempo de descarga y carga en javaFX?

Normalmente esto es tan simple como cargando la imagen desde una url en segundo plano y rastrear su progreso vinculando propiedad de progreso de la barra de progreso a la propiedad de progreso de la imagen . Eso replicaría la funcionalidad del código de Android que publicaste con mucho menos código.

ProgressBar bar = new ProgressBar();
Image image = new Image(url, true);
bar.progressProperty().bind(image.progressProperty());

El único problema aquí es que el código que no es de Android que publicaste no es el mismo que el código de Android en funcionalidad. En lugar de recuperar una imagen de una URL, el código que no es de Android recupera la imagen de una base de datos.

Si desea monitorear el progreso de la recuperación de imágenes almacenadas en una base de datos, debe hacer algunas cosas adicionales:

  1. En un campo adicional en la base de datos, almacene el tamaño de la imagen.
  2. Almacene la imagen en sí misma en un Blob en la base de datos.
  3. Recupere el tamaño total de la imagen de la base de datos cuando sea necesario.
  4. Recupere el blob de la base de datos como una corriente .
  5. Registrar una URL personalizada protocolo que puede obtener el flujo de la base de datos y convertirlo en una URL. (Alternativamente, podría alojar un servlet de aplicación web que haga la conversión y devuelva los datos sobre http ).
  6. Ahora puede cargar la imagen en segundo plano usando su protocolo de URL personalizado y monitorear su progreso a través de su propiedad de progreso como antes.

Hacer el paso 5 es complicado y no escribiré el código para hacerlo aquí, ya que me llevaría mucho tiempo crear dicho código.