sql >> Databasteknik >  >> RDS >> Mysql

Bind förloppet av en fråga till en progressProperty av en ProgressBar för att informera användaren om nedladdnings- och uppladdningstid i javaFX?

Normalt är detta så enkelt som laddar in bilden från en url i bakgrunden och spåra dess framsteg genom att binda progress-egenskapen för förloppsindikatorn till progress-egenskapen för bilden . Det skulle replikera funktionen hos Android-koden du postade med mycket mindre kod.

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

Det enda knepiga här är att den icke-Android-koden du postade inte är densamma som Android-koden i funktionalitet. Istället för att hämta en bild från en URL, hämtar icke-Android-koden bilden från en databas.

Om du vill övervaka framstegen för hämtning av bilder lagrade i en databas, måste du göra några extra saker:

  1. I ett extra fält i databasen lagrar du bildens storlek.
  2. Lagra själva bilden i en blob i databasen.
  3. Hämta bildens totala storlek från databasen vid behov.
  4. Hämta Blob från databasen som en ström .
  5. Registrera en anpassad webbadress protokoll som kan hämta databasströmmen och konvertera strömmen till en URL. (Alternativt kan du vara värd för en webbapplikationsservlet som gör omvandlingen och returnerar data över http ).
  6. Nu kan du ladda bilden i bakgrunden med ditt anpassade URL-protokoll och övervaka dess framsteg via dess progress-egenskap som tidigare.

Att göra steg 5 är knepigt och jag kommer inte att skriva koden för att göra det här eftersom det skulle ta lång tid att skapa en sådan kod.




  1. Hur kan jag snabba upp en MySQL-fråga med WHERE-satser i två kolumner?

  2. TFDQuery.Prepare kan inte fastställa parametertyper för INSERT-fråga på MS SQL SERVER

  3. SQL Group By med en Order By

  4. MySQL slå samman 2 resultatuppsättningar exklusive rekord i den första