Как загружать изображения асинхронно с веб-сервера

Экран моего приложения выглядит аналогично приложенному изображению. У меня есть несколько строк, и каждая строка имеет растровое изображение, поле заголовка и описания. Вся информация извлекается с нашего поддерживающего веб-сервера в форме XML. Теперь я использовал шаблон проектирования наблюдателя, который создает отдельный поток для подключения к моему удаленному серверу по протоколу HTTP, загрузки и анализа XML. XML включает в себя URL-адрес изображения, заголовок и описание для каждой строки.

enter image description here

Я пробовал несколько подходов до сих пор,

Approach 1:

Created a separate method (drawRow()), which takes care of putting the contents together by specifying the layout. And, then using the method downloadImage(), I am trying to download the remote URL from the drawRow() method. But it sucks, as it downloads using the same thread and UI gets blocked.

Approach 2:

В поисках вышеуказанного вопроса я наткнулсяWebBitmapField в ежевике отcoderholic.com.

И затем я использую приведенный ниже код из моего метода drawRow (). Как я понимаю, WebBitmapField использует шаблон проектирования наблюдателя, и изображение загружается поверх потока, отличного от потока пользовательского интерфейса. Это прекрасно работает, когда у меня ограниченное количество строк, например 5 или 10. Но когда у меня больше строк, которые нужно нарисовать, он выбрасываетTooManyThreads исключение, так как он создает новый поток для каждой строки.

У меня есть эта ссылкаtaskworker-нить-ежевика, но не очень понятно, как добиться моего требования.

Как я понимаю, в приложении blackberry приложение может создать не более 16 потоков. Итак, теперь я верю. Мне может понадобиться создать пул потоков, указав максимальный размер до 10.

Can anyone please help me to understand and implement the thread pooling for blackberry for my current problem?

Also, I appreciate anyone giving me any other best approach which will fit for my requirement.

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос