IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[débutant Android / Java] Comment organiser son projet pour le rendre compatible 1.6->2.2 ?


Sujet :

Android

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 39
    Points
    39
    Par défaut [débutant Android / Java] Comment organiser son projet pour le rendre compatible 1.6->2.2 ?
    Bonjour, débutant sur android et java je commence a faire des petits programmes tout bete.
    J'ai acheté "Programmation Android : De la conception au déploiement avec le SDK Google Android 2" comme livre guide il me parrait bien pour mon niveau débutant.

    Cependant il y a un point que je ne comprend pas c'est comment organiser ses projets par rapport au version d'android.

    Prenons un exemple concret le helloword + bouton
    J'ai crée un projet dans eclipse en mode target API 4 ( android 1.6) j'ai ecris le code pour faire le hello word et pour le bouton en me basant sur les exemple du livre.
    Or en version android 2, pour linker l'évènement click du bouton ils override le SetonClickListener , et dans la version android 1.6 j'ai une erreur mais si je l'enlève cela passe .

    D'ou ma question dois je créer un projet par version d'android ?
    Ou alors ai je loupé une étape cruciale dans la création du projet car on ne peut pas spécifié plusieurs Target lors de la création dans eclipse ?

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    Salut,
    Tu peux par exemple compiler ton projet pour une plateforme 1.6, il sera alors compatible avec toutes les plateformes supérieures ou égales à 1.6
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  3. #3
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Tu peut aussi utiliser le sdk du 2.2 et dire que la version min est la 1.6

    Pour que cela se passe bien, tu peut mettre des try/catch autour de code qui risque de ne pas fonctionner en 1.6 pour faire une autre méthode. Il est normalement possible de connaitre la version du mobile pendant l'exécution. Comme l'apk sera généré, les erreurs sur 1.6(méthode inconnue) seront à l'exécution.

    Tu pourras ainsi activé/désactiver certaine fonctionnalité en fonction de la version d'exécution. Si tu part du sdk 1.6, tu perd la possibilité d'utiliser les dernière fonctionnalité.
    Un exemple intéressant (tu peut créer tes factory pour cache le teste sur la version) :
    http://android-developers.blogspot.c...at-it-too.html


    Peut être que cette vidéo t'intéressera
    http://code.google.com/intl/fr-FR/ev...d-devices.html

  4. #4
    Nouveau membre du Club
    Inscrit en
    Avril 2006
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 45
    Points : 39
    Points
    39
    Par défaut
    Bon je m'en suis sorti finalement.
    En fait j'ai écris le code en me basant sur cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // Create an anonymous implementation of OnClickListener
    private OnClickListener mCorkyListener = new OnClickListener() {
        public void onClick(View v) {
          // do something when the button is clicked
        }
    };
    protected void onCreate(Bundle savedValues) {
        ...
        // Capture our button from layout
        Button button = (Button)findViewById(R.id.corky);
        // Register the onClick listener with the implementation above
        button.setOnClickListener(mCorkyListener);
        ...
    Alors que dans le bouquin il y avait un truc du style

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected void onCreate(Bundle savedValues) {
        ...
        // Capture our button from layout
      ((Button)findViewById(R.id.monbouton)
        . setOnClickListener( new OnclickListener(){
        @Override
          public void onClick(View v) {
          // do something when the button is clicked
          }
       }
    }
    Au erreur de syntaxe près bien sur ( je le fait de mémoire pas le bouquin devant les yeux).
    Venant du monde delphi j'ai un peu de mal avec les imbriquations-déclaration a la volée.

    Par contre je pige toujours pas le coup du Override ? dans l'api 2.0 il faut overrider les Evénement ou je suis neuneu ? Dans ma Target 1.6 la déclaration du onClick se fait sans override et ca passe tout seul.

  5. #5
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Points : 4 240
    Points
    4 240
    Par défaut
    En faite, c'est le même code pour les deux, c'est juste que dans un cas tu utilises les classes anonymes, et l'autre non.
    Je te laisse chercher dans les forum Java les descriptions de ces fonctionnalités offertes par le langage JAVA.
    Si vous jugez mon post utile dans la résolution de votre problème, n'hésitez pas à utiliser le système de vote afin d'améliorer la qualité du forum

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Version Java
    Salut,

    Je viens de me lancer à mon tour dans le développement Android et j'ai eu le même soucis.

    Il y a eu une histoire autour de override entre le JDK 5 et le JDK 6. Je suppose que les SDK Android 1.6 et suivants ont été développés à cette période et ont donc hérités de ce soucis.

Discussions similaires

  1. Comment organiser mon projet pour ouvrir un fichier ?
    Par hafizbe dans le forum Développement Web en Java
    Réponses: 4
    Dernier message: 25/06/2014, 15h47
  2. Comment organiser son projet ?
    Par OshiSensei dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 16/02/2012, 15h05
  3. Réponses: 2
    Dernier message: 21/06/2011, 20h27
  4. [VB.Net 2.0] Comment organiser un projet 3-tiers ?
    Par errant dans le forum Services Web
    Réponses: 3
    Dernier message: 07/03/2006, 21h09
  5. [Debutant(e)][eclipse] Comment organiser ses projets ?
    Par Javanaute dans le forum Eclipse Java
    Réponses: 9
    Dernier message: 09/04/2004, 10h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo