Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] ActionBarSherlock

API ?

Sujet résolu
    23 mai 2013 à 11:50:18

    Bonjour à tous,

    J'essaie de suivre le tuto Android mais je tombe face à un léger problème.
    A un moment, on énonce les actionbars et les bibliothèques de compatibilités, en l'occurence actionbarSherlock qui est apparemment la plus utilisée.
    Dans la mesure du possible j'aimerais rester sous l'API7, déjà par souci de compatibilité, mais surtout parce que mon ordi rame à mort quand il émule un galaxy nexus xD

    Bref, sur le site de actionbarSherlock, on trouve ceci (pas trouvé comment faire les citations, tabulations... v4) :
    Requirements
    Due to its use of the native action bar and its related classes on Ice Cream Sandwich, the library requires that both it and your project are compiled with Android 4.0 or newer. The project also requires that you are compiling with JDK 1.6 in both your editor and any build systems that you may be using.

    De plus, quand j'utilise le xml donné dans le tuto, il m'affiche l'erreur suivante :
    error: No resource identifier found for attribute 'showAsAction' in package 'android'

    Je ne comprend pas, sherlock c'est une bibliothèque de compatibilité, si je dois compiler en android 4.x je n'ai pas besoin de bibliothèque non ?
    Comment je fais pour l'utiliser avec l'API7 (android 2.1) ?

    Merci

    PS

    • Partager sur Facebook
    • Partager sur Twitter
      24 mai 2013 à 9:31:22

      Bonjour !

      Alors pour faire simple, tu dois compiler en 4.X pour que l'ActionBarSherlock puisse être utilisée. 

      Pourquoi utiliser cette librairie et pas juste compiler en 4.X ? 
      L'actionBarSherlock exploite des méthodes (qui sont arrivées pour la plupart avec JellyBean) et son travail est de rendre ces méthodes compatibles avec des téléphones de version inférieure. 
      Les fonctions et méthodes Android sont rétrocompatibles : cela signifie qu'une méthode présente dans l'API7 sera toujours là dans l'API16 mais l'inverse n'est pas vrai :une méthode arrivée avec l'API16 ne tournera pas sur un téléphone Android de version 2.2, d'où l'intérêt d'utiliser une librairie de compatibilité.

      Donc, pour en revenir à ton soucis, tu peux spécifier le SDK minimum de ton projet en API7 et mettre comme SDK de compil. l'API 16 (ou au dessus) 

      Rien ne t'empêche de compiler ton projet sur un émulateur tournant avec Android 2.1 =) 

      J'espère avoir été suffisamment clair, si tu as d'autres questions n'hésite pas

      • Partager sur Facebook
      • Partager sur Twitter
        24 mai 2013 à 10:15:23

        D'accord je ne savais pas quon pouvait compiler dans une version plus grande que la version minimum

        Merci je vais essayer ça !

        (ou, comme me l'a conseillé Androwiid, je vais attendre la bibliothèque de compatibilité anoncée au Google I/O)

        Résolu !

        • Partager sur Facebook
        • Partager sur Twitter

        [Android] ActionBarSherlock

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown