1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
public static ArrayList<?> getFeeds() throws IOException
{
// on n'initialise pas à null, comme ca eclipse nous dira si il y a un chemin de programmation fautif !
SAXParser parseur;
URL url;
ArrayList<?> entries;
try {
// On passe par une classe factory pour obtenir une instance de sax
SAXParserFactory fabrique = SAXParserFactory.newInstance();
parseur = fabrique.newSAXParser();
// On défini l'url du fichier XML
url = new URL("xxxxxx");
} catch (Exception ex) {
Log.e("MY-APP","RSS configuration error !",ex);
// SURTOUT ON SIGNALE A L'APPELANT L'ERREUR !
throw new IllegalStateException("Bad configuration in RSS reading",ex);
}
try {
DefaultHandler handler = new ParserXMLHandler();
// On parse le fichier XML
InputStream input = url.openStream();
if (input==null) {
// c'est possible ca ?
Log.e("erreur android","null");
entries = new ArrayList<?>(); // always something !
} else {
parseur.parse(input, handler);
// On récupère directement la liste des feeds
entries = ((ParserXMLHandler) handler).getData();
}
} catch (Exception ex) {
Log.e("MY-APP","RSS Reading error !",ex);
// SURTOUT ON SIGNALE A L'APPELANT L'ERREUR !
throw new IOException("RSS-Read error",ex);
}
// On la retourne l'array list
return entries;
} |
Partager