Compatibilité android 2.1 et (3.2 4.2.2 )

Résolu
mazareth Messages postés 271 Date d'inscription   Statut Membre Dernière intervention   -  
scinarf Messages postés 1183 Statut Membre -
Bonjour,
en plein codage j'ai de petit soucis avec android, j'ai commencer en me limitant au 2.1 en me disant " si ca marche en 2.1 ca marchera sur toute les version superieur"

voici mon code
	
                SAXParserFactory fabrique = SAXParserFactory.newInstance();
		SAXParser parseur = null;
		try {
			parseur = fabrique.newSAXParser();
		} catch (ParserConfigurationException e) {
			e.printStackTrace();
		} catch (SAXException e) {
			e.printStackTrace();
		}

		URL url = null;
		try {
			url = new URL("https://basket-infos.com/feed/");	
		} catch (MalformedURLException e1) {
			e1.printStackTrace();
		}
                DefaultHandler handler = new ParserXMLHandler();


cette ligne
parseur.parse(url.openConnection().getInputStream(), handler);

fonctionne sous 2.1 mais fait tous planter sur mes autres devices 3.2 et 4.2.2 testés.

Une idée? En mode débug je ne vois rien entre la ligne et le bug.

7 réponses

  1. scinarf Messages postés 1183 Statut Membre 294
     
    Bonjour

    Essaie de faire un try catch sur cette ligne pour avoir l'exception et en savoir plus sur le problème.
    0
  2. mazareth Messages postés 271 Date d'inscription   Statut Membre Dernière intervention   33
     
    j'ai deja ca:
    try {
    // On parse le fichier XML
    parseur.parse(url.openConnection().getInputStream(), handler);

    // On récupère directement la liste des feeds
    feeds = ((ParserXMLHandler) handler).getData();
    } catch (SAXException e) {
    e.printStackTrace();
    } catch (IOException e) {
    e.printStackTrace();
    }

    mais ça me plante quand même sans rentrer dans les exceptions...

    Une solution?

    edit : mes point de debug

    http://img12.imageshack.us/img12/4552/7uol.jpg
    0
  3. scinarf Messages postés 1183 Statut Membre 294
     
    catch (Exception e) on verra si c'est pas une autre exception.

    Sinon quel est le message affiché dans e LogCat ?
    0
  4. mazareth Messages postés 271 Date d'inscription   Statut Membre Dernière intervention   33
     
    alors je suis pas un pro du logcat, il me met :

    E/(): Device disconnected: 1

    je regarde j'ai pas du mettre le mode debug sur mes autres emulateurs...

    edit 4.2.2 en cours de lancement
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. scinarf Messages postés 1183 Statut Membre 294
     
    Essaie ca pour la logcat

    avec un import android.util.Log;
    dans les imports
    et
    private final string TAG ="XMLParse";
    dans les déclarations
    try {
    // On parse le fichier XML
    parseur.parse(url.openConnection().getInputStream(), handler);

    // On récupère directement la liste des feeds
    feeds = ((ParserXMLHandler) handler).getData();
    } catch (SAXException e) {
    Log.d(TAG, "SAX Exception " + e);
    } catch (IOException e1) {
    Log.d(TAG,"IOException " + e1);
    }
    catch(Exception e2)
    {
    Log.d(TAG, "Exception general " + e2);
    }

    On va bien voir ou ça coince comme ca et surveille les log qui passent avec un filtre sur le TAG "XMLParse"
    0
  7. mazareth Messages postés 271 Date d'inscription   Statut Membre Dernière intervention   33
     
    super merci :
    07-18 11:49:36.930: D/XMLParse(1464): OTHERS android.os.NetworkOnMainThreadException

    j'ai la solution suivante :
    if (android.os.Build.VERSION.SDK_INT > 9) {
    StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
    StrictMode.setThreadPolicy(policy);
    }

    ou asynctask.

    je vais voir merci encore pour l'aide avec le logcat, j'avais pas pensé a ca.
    0