package com.morristaedt.mirror.modules; import android.os.AsyncTask; import android.util.Log; import org.mcsoxford.rss.RSSFeed; import org.mcsoxford.rss.RSSReader; import org.mcsoxford.rss.RSSReaderException; /** * Created by alex on 21/09/15. */ public class NewsModule { public interface NewsListener { void onNewNews(String headline); } public static void getNewsHeadline(final NewsListener newsListener) { new AsyncTask<Void, Void, String>() { @Override protected void onPostExecute(String s) { super.onPostExecute(s); newsListener.onNewNews(s); } @Override protected String doInBackground(Void... params) { RSSReader rssReader = new RSSReader(); String url = "http://feeds.bbci.co.uk/news/world/rss.xml?edition=uk"; try { RSSFeed feed = rssReader.load(url); String headline = feed.getItems().get(0).getTitle(); for (int i = 1; i < 10; ++i) { headline += " " + feed.getItems().get(i).getTitle(); } return headline; } catch (RSSReaderException e) { Log.e("NewsModule", "Error parsing RSS"); return null; } catch (Exception e) { // not great to catch general exceptions, but this lib is being sketchy Log.e("NewsModule", "Error parsing RSS"); return null; } } }.execute(); } }