Раздражает Android - проблема RSS - PullRequest
0 голосов
/ 02 июня 2011

Я долго борюсь с глупой проблемой, которую, похоже, не могу решить. В основном то, что я делаю в моем приложении, следующее:

Я загружаю весь контент RSS в локальную базу данных, включая вложенность каждого канала (изображений), но не каждый канал содержит изображение.

около 10 из 100 каналов не содержат изображения Что происходит с каналами, которые не содержат изображения, показано на следующем рисунке:

http://i.stack.imgur.com/FTUBl.png

По какой-то причине каналы без изображения получают изображение предыдущего канала ...

Я размещу весь свой код ниже в надежде, что кто-нибудь скажет мне, что в мире я делаю неправильно ...

В этой части я загружаю изображение в локальное хранилище, эта функция работает корректно, однако по какой-то причине канал без вложений получает обратно в него оболочку предыдущего канала ...

for (Message msg : wildLife){

                String imageURL = msg.getEnclosure();
                String imageName = imageURL.substring(imageURL.lastIndexOf("/"));
                String imagePath = ImageDir + imageName;

                //-- Call upon the function that will download the image.
                if (imageURL !=null){
                    DownloadFromUrl(imageURL, imagePath);
                }               

                //-- We add all rows we find in the rrs feed to our local stored database.
                db.addWildlifeRow(
                    msg.getTitle(),
                    msg.getDescription(),
                    "Empty slot",
                    imagePath,
                    msg.getLink());
            }

Я зарегистрировался в парсере RSS, и он не сохраняет один и тот же URL дважды. Так что никаких проблем нет. Это неправильно (насколько я знаю) при запросе вложенного URL-адреса из элемента сообщения.

Есть ли кто-нибудь, кто мог столкнуться с этой же проблемой?

Приветствуются все советы. Я застрял в этой проблеме уже несколько дней, и, похоже, не могу понять ...

Если вам потребуется больше кода, чтобы найти возможное решение, просто спросите, и я предоставлю его.

P.S. он ошибается перед помещением данных в мою базу данных, поэтому при чтении информации из сообщения и размещении ее в базе данных она уже ошиблась. Приложение копируется из ревизионного (если его не было)

С уважением, радость

Ответы [ 2 ]

0 голосов
/ 02 июня 2011
 //-- Call upon the function that will download the image.
                if (imageURL !=null){
                    DownloadFromUrl(imageURL, imagePath);
                } 
            else
                imageview.setImageDrawable(null);

Попробуйте добавить сюда еще одну часть и удалите все старые изображения в вашем изображении

0 голосов
/ 02 июня 2011

Вы пробовали пройти через это в отладке?

Я согласен, что кажется, что

String imageURL = msg.getEnclosure();

всегда должен что-то возвращать - как если бы msg.getEnclosure () возвращал null для элементов без изображения, тогда вы получите NullPointerExceptionследующая строка в

String imageName = imageURL.substring(imageURL.lastIndexOf("/"));

Если бы вы могли предоставить код синтаксического анализа RSS, который мог бы быть полезен - я предполагаю, кроме того, что нет никакой другой предварительной обработки набора сообщений Wildlife?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...