package es.pirata.extra; import java.util.Comparator; import java.util.SortedSet; import java.util.TreeSet; import org.json.JSONArray; import org.json.JSONException; import org.json.JSONObject; public class CtrlJson { private static CtrlJson INSTANCE = null; public static CtrlJson getInstance() { if (INSTANCE == null) { INSTANCE = new CtrlJson(); } return INSTANCE; } public SortedSet<StrRss> getRSS() { SortedSet<StrRss> ssRss = new TreeSet<StrRss>(new MyComparator_pubDate()); try { String content = CtrlFile.getInstance().readFile("rss"); JSONObject json = new JSONObject(content); JSONArray entry = json.toJSONArray(json.names()); for (int i=0; i < entry.length(); i++) { StrRss rss = new StrRss(); rss.id = entry.getJSONObject(i).getInt("id"); rss.link = entry.getJSONObject(i).getString("link"); rss.pubDate = entry.getJSONObject(i).getString("pubDate"); rss.title = entry.getJSONObject(i).getString("title"); ssRss.add(rss); } } catch (JSONException e) { e.printStackTrace(); } return ssRss; } // ----- PRIVATE // rss private class MyComparator_pubDate implements Comparator<StrRss> { public int compare(StrRss a, StrRss b) { String aStr = a.pubDate; String bStr = b.pubDate; return bStr.compareTo(aStr); } } }