Парсингу картинок в RSS
Парсингу картинок в RSS
Доброе время суток Форумчане!
Подскажите, как можно парсить строку RSS вида
<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/6 ... xry5vx.jpg"/>
И как ее адрес присвоить картинке в приложении. Использую SimpleAdaptor.
Заранее благодарен.
Подскажите, как можно парсить строку RSS вида
<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/6 ... xry5vx.jpg"/>
И как ее адрес присвоить картинке в приложении. Использую SimpleAdaptor.
Заранее благодарен.
Re: Парсингу картинок в RSS
У меня не получается забрать адрес рисунка http://news.bbcimg.co.uk/media/images/6 ... xry5vx.jpg
так как парсер тормозится на media: и ничего не возвращает.
так как парсер тормозится на media: и ничего не возвращает.
Re: Парсингу картинок в RSS
какой парсер используете?
как именно парсите? если dom парсером то нужно как атрибут, если sax то так же
как именно парсите? если dom парсером то нужно как атрибут, если sax то так же
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Парсингу картинок в RSS
Прикрепил файл проекта парсера
По пробовал сделать отдельно приложение для загрузки картинки, но почему-то тоже не работает.. подскажите что не так?
З.Ы.
Пытаюсь парсить ленту ббс.
По пробовал сделать отдельно приложение для загрузки картинки, но почему-то тоже не работает.. подскажите что не так?
Код: Выделить всё
package com.example.im;
import java.io.InputStream;
import java.net.URL;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.view.Menu;
import android.widget.ImageView;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView txtUrl;
private ImageView imgView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String url = "http://developer.alexanderklimov.ru/android/images/android_cat.jpg";
txtUrl = (TextView) findViewById(R.id.txtUrl);
txtUrl.setText(url);
imgView = (ImageView) findViewById(R.id.imgView);
// загружаем картинку с указанного адреса в ImageView
try {
imgView.setImageDrawable(grabImageFromUrl(url));
} catch (Exception e) {
txtUrl.setText("Ошибка: Exception");
}
}
private Drawable grabImageFromUrl(String url) throws Exception {
return Drawable.createFromStream(
(InputStream) new URL(url).getContent(), "src");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
Пытаюсь парсить ленту ббс.
- Вложения
-
- AndroidXMLParsing.rar
- (144.52 КБ) 295 скачиваний
Re: Парсингу картинок в RSS
этот код бред, вот так грузить картинку нужно:По пробовал сделать отдельно приложение для загрузки картинки, но почему-то тоже не работает.. подскажите что не так?
Код: Выделить всё
URL url = new URL("http://developer.alexanderklimov.ru/android/images/android_cat.jpg");
Bitmap image = BitmapFactory.decodeStream(url.openConnection().getInputStream());
так вы содержимое тега media не получите, потому что он закрытый:Пытаюсь парсить ленту ббс.
Код: Выделить всё
<media:thumbnail width="66" height="49" url="http://news.bbcimg.co.uk/media/images/68327000/jpg/_68327394_68322919.jpg"/>
Код: Выделить всё
Element e = (Element) nl.item(i); //получили тег media
String url = e.getAttribute("url"); //получили содержимое атрибута url
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Парсингу картинок в RSS
Спасибо, с обработкой рисунков заработало, но атрибут вытянуть все равно не удается. Я наверное не совсем понимаю, что делаю... добавил в парсер код с вытягиванием атрибута, последняя строчка кода. Подскажите пожалуйста еще.
З.Ы.
Я только недавно взялся за изучение андроид, так что с потоками у меня в ряд ли получится.
З.Ы.
Я только недавно взялся за изучение андроид, так что с потоками у меня в ряд ли получится.
Код: Выделить всё
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(URL); // getting XML
Document doc = parser.getDomElement(xml); // getting DOM element
NodeList nl = doc.getElementsByTagName(KEY_ITEM);
// looping through all item nodes <item>
for (int i = 0; i < nl.getLength(); i++) {
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
Element e = (Element) nl.item(i);
// adding each child node to HashMap key => value
map.put(KEY_ID, parser.getValue(e, KEY_ID));
map.put(KEY_NAME, parser.getValue(e, KEY_NAME));
map.put(KEY_DESC, parser.getValue(e, KEY_DESC));
map.put(KEY_DATE, "Date: " + parser.getValue(e, KEY_DATE));
map.put(KEY_LINK, parser.getValue(e, KEY_LINK));
map.put(KEY_IMAGE = e.getAttribute("url"), parser.getValue(e, KEY_IMAGE));
Re: Парсингу картинок в RSS
С потоками разбирайтесь сейчас, потому что Ваше приложение на 4-м Андроиде работать не будет.
Вот это не правильно:
Вот это правильно:
Вот это не правильно:
Код: Выделить всё
map.put(KEY_IMAGE = e.getAttribute("url"), parser.getValue(e, KEY_IMAGE));
Код: Выделить всё
map.put(KEY_IMAGE, e.getAttribute("url"));
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Парсингу картинок в RSS
Вывел содержимое в соответствующий текствиев, но он пустой. получается что юрл не забирается.
На всякий случай прикрепил еще раз файл проекта.
На всякий случай прикрепил еще раз файл проекта.
- Вложения
-
- AndroidXMLParsing.rar
- (122.01 КБ) 302 скачивания
Re: Парсингу картинок в RSS
Вы считываете только атрибуты первого уровня, а media:thumbnail находится на втором уровне, по этому нужно получить список второго уровня и уже у него искать media:thumbnail и вытаскивать атрибут url:
P.S. но я бы рекомендовал использовать SAX парсер. При такой xml он будет быстрее работать, и кода меньше писать.
Код: Выделить всё
map.put(KEY_IMAGE, getMediaUrl(e));
//
private String getMediaUrl(Element element)
{
String sUrl = null;
NodeList nList = element.getChildNodes();
for (int i = 0; i < nList.getLength(); i++)
{
Node el = nList.item(i);
if (el.getNodeName() != null && el.getNodeName().equalsIgnoreCase("media:thumbnail"))
{
sUrl = el.getAttributes().getNamedItem("url").getNodeValue();
}
}
return sUrl;
}
R.id.team
Политика на форуме запрещена
Политика на форуме запрещена
Re: Парсингу картинок в RSS
Большое спасибо, все заработало!!!
Re: Парсингу картинок в RSS
день добрый !!!
я новичок в андройд разработке пишу приложение которое парсит rss ленту с сайта
при компиляции проекта не отображаются картинки подскажите пожалуйста как это релизовать
Зарание спасибо
я новичок в андройд разработке пишу приложение которое парсит rss ленту с сайта
при компиляции проекта не отображаются картинки подскажите пожалуйста как это релизовать
Зарание спасибо
- Вложения
-
- anddev_v_2.zip
- (11.15 КБ) 292 скачивания