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 :

Pourquoi TYPE_ORIENTATION deprecated


Sujet :

Android

  1. #1
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut Pourquoi TYPE_ORIENTATION deprecated
    Bonjour a tous ,

    après la recherche sur TYPE_ORIENTATION ,en disant que :

    -Il est pas garanti pour fonctionner sur des API (SDK>=9),c'est a dire :sur un smartphone (SDk<9) --> le code fonctionne , et smartphone (SDk>=9) --> le code fonctionne pas ??

    Merci d'avance

  2. #2
    Membre confirmé

    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : Burkina Faso

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2014
    Messages : 262
    Points : 634
    Points
    634
    Par défaut
    Bonjour a tous ,

    après la recherche sur TYPE_ORIENTATION ,en disant que :

    -Il est pas garanti pour fonctionner sur des API (SDK>=9),c'est a dire :sur un smartphone (SDk<9) --> le code fonctionne , et smartphone (SDk>=9) --> le code fonctionne pas ??

    Merci d'avance
    Ce serait mieux si tu reformulais ta question. Personnellement, je n'ai rien saisi de tout ça. TYPE_ORIENTATION s'applique à quoi d'ailleurs ?
    Aujourd'hui apprenant, demain appreneur.
    N'accuse pas le puits d'être trop profond,
    c'est peut-être ta corde qui est trop courte

  3. #3
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Deprecated ça veut dire:
    "A ne plus utiliser quand on développe avec une API >= 8 (c'est à dire... plus personne ne l'utilise plus dans aucune mise à jour / développement vu que l'API 8 c'est quand même vachement vieux "

    Par contre, le système doit toujours le gérer en interne... avec un appel à SensorManager.getOrientation() directement.

    Donc:

    * Une application développée pour API < 8 sur un système < 8, ben c'est tout bon
    * Une application développée pour API < 8 sur un système > 8, le système devrait "simuler" le sensor avec des simples appels à SensorManager.getOrientation()
    * Une application développée pour API >= 8 sur un système < 8 => pas possible
    * Une application développée pour API >= 8 sur un système > 8, on ne devrait pas utiliser de sensor de type orientation.
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  4. #4
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut
    merci beaucoup pour votre réponse rapide (nicroman et lankoande)
    lankoande , désolé pour la façon de poser ma question .

    Maintenant je dois utliser : TYPE_ACCELEROMETER et TYPE_MAGNETIC_FIELD pour obtenir l'orientation correcte ?

    Merci d'avance

  5. #5
    Expert éminent

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Points : 7 618
    Points
    7 618
    Billets dans le blog
    3
    Par défaut
    Heu... non.....

    C'est marqué dans la doc:
    SensorManager.getOrientation()

    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  6. #6
    Membre régulier
    Homme Profil pro
    ETUDIANT
    Inscrit en
    Novembre 2012
    Messages
    111
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : ETUDIANT

    Informations forums :
    Inscription : Novembre 2012
    Messages : 111
    Points : 70
    Points
    70
    Par défaut
    Merci pour ta réponse ,

    Mais lorsqu'on parle de SensorManager.getOrientation():

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getOrientation (float[] R, float[] values)
    avec R :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    rotation matrix see getRotationMatrix(float[], float[], float[], float[]).
    et :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    values[0]: azimuth, rotation around the -Z axis, i.e. the opposite direction of Z axis.
        values[1]: pitch, rotation around the -X axis, i.e the opposite direction of X axis.
        values[2]: roll, rotation around the Y axis.
    Donc la plupart sur les discusions :Obtenez angle de l'appareil en utilisant la fonction GetOrientation
    il propose la solution suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    public void onAccuracyChanged(Sensor sensor, int accuracy) {  }
     
      float[] mGravity;
      float[] mGeomagnetic;
      public void onSensorChanged(SensorEvent event) {
        if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER)
          mGravity = event.values;
        if (event.sensor.getType() == Sensor.TYPE_MAGNETIC_FIELD)
          mGeomagnetic = event.values;
        if (mGravity != null && mGeomagnetic != null) {
          float R[] = new float[9];
          float I[] = new float[9];
          boolean success = SensorManager.getRotationMatrix(R, I, mGravity, mGeomagnetic);
          if (success) {
            float orientation[] = new float[3];
            SensorManager.getOrientation(R, orientation);
            azimut = orientation[0]; // orientation contains: azimut, pitch and roll
          }
        }
      }
    Donc le code source proposé : SensorManager.getOrientation(R, orientation);

    j'ai déjà utiliser ce code ,et les résultats obtenue :

    1-le GSM est a plat vecrtical --> azimuth=37°.
    2-En tournant le GSM Horizontalement de 90° --> azimuth=-111°.
    Donc la différence (111-37) est 74° !!!! (mais normalement je dois obtenir 90°)

    Donc j'ai deux questions :

    1-le code source est bon ?
    2- pourquoi 74° ?
    Merci d'avance

Discussions similaires

  1. Réponses: 4
    Dernier message: 10/01/2014, 17h22
  2. Que choisir ? C# , VB.NET, C++, Delphi ? pourquoi ?
    Par Louis-Guillaume Morand dans le forum Général Dotnet
    Réponses: 475
    Dernier message: 08/04/2010, 19h27
  3. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  4. Pourquoi ces directives #ifndef ... en haut des .h
    Par Patrick PETIT dans le forum C
    Réponses: 8
    Dernier message: 06/03/2003, 23h53

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