Jak pobierać obrazy asynchronicznie z serwera WWW
Mój ekran aplikacji wygląda podobnie do załączonego obrazu. Mam wiele wierszy i każdy wiersz ma obraz bitmapowy, tytuł i pole opisu. Wszystkie informacje są pobierane z naszego pomocniczego serwera WWW w postaci XML. Teraz użyłem wzorca projektowego obserwatora, który tworzy oddzielny wątek do łączenia się z moim zdalnym serwerem przez HTTP, pobiera i analizuje XML. XML zawiera adres URL obrazu, tytułu i opisu dla każdego wiersza.
Dotychczas próbowałem kilku podejść,
Podejście 1:
Utworzono oddzielną metodę (drawRow ()), która zajmuje się umieszczaniem zawartości razem, określając układ.Następnie, używając metody downloadImage (), próbuję pobrać zdalny adres URL z metody drawRow ().Ale jest do bani, ponieważ pobiera ten sam wątek, a interfejs użytkownika jest blokowany.Podejście 2:
Szukając powyższego problemu, natknąłem się naWebBitmapField w jeżynie zcoderholic.com.
I wtedy używam poniższego kodu z mojej metody drawRow (). Jak rozumiem WebBitmapField, tutaj używa się wzorca projektu obserwatora, a obraz jest pobierany przez wątek inny niż wątek UI. Działa dobrze, gdy mam ograniczoną liczbę rzędów takich jak 5 lub 10. Ale gdy mam więcej rzędów do wylosowania, rzucaTooManyThreads
wyjątek, ponieważ tworzy nowy wątek dla każdego wiersza.
Mam ten linkrobotnik-wątek-jeżyna, ale nie bardzo jasne, jak osiągnąć moje wymaganie.
Jak rozumiem, w blackberry aplikacja może utworzyć maksymalnie 16 wątków. Więc teraz wierzę. Może zajść potrzeba utworzenia puli wątków określającej maksymalny rozmiar do 10.
Czy ktoś może mi pomóc zrozumieć i wdrożyć pulę wątków dla BlackBerry dla mojego obecnego problemu?
Doceniam również każdego, kto daje mi inne najlepsze podejście, które będzie pasować do moich wymagań.
Z góry dziękuję.