Обикновено това е толкова просто, колкото зареждане на изображението от URL във фонов режим и проследяване на напредъка му чрез обвързване на свойство за прогрес на лентата за напредък към свойството за прогрес на изображението . Това ще повтори функционалността на кода на Android, който публикувахте, с много по-малко код.
ProgressBar bar = new ProgressBar();
Image image = new Image(url, true);
bar.progressProperty().bind(image.progressProperty());
Единственото сложно нещо тук е, че кодът извън Android, който сте публикували, не е същият като кода на Android по функционалност. Вместо да извлича изображение от URL адрес, кодът, различен от Android, извлича изображението от база данни.
Ако искате да наблюдавате прогреса на извличане на изображения, съхранени в база данни, тогава трябва да направите няколко допълнителни неща:
- В допълнително поле в базата данни съхранявайте размера на изображението.
- Съхранявайте самото изображение в Blob в базата данни.
- Извлечете общия размер на изображението от базата данни, когато е необходимо.
- Извличане на Blob от базата данни като поток .
- Регистрирайте персонализиран URL протокол който може да получи потока от база данни и да преобразува потока в URL адрес. (Алтернативно можете да хоствате сървлет за уеб приложение, който извършва преобразуването и връща данните през http ).
- Сега можете да заредите изображението във фонов режим, като използвате своя персонализиран URL протокол и да наблюдавате напредъка му чрез свойството му за прогрес, както преди.
Изпълнението на стъпка 5 е трудно и няма да пиша кода, за да го направя тук, тъй като създаването на такъв код ще ми отнеме много време.