Blister Posté(e) 11 juin 2009 Share Posté(e) 11 juin 2009 Bonjour, Je viens d'implémenté votre petit programme dans votre news qui "scan" les sensors. Mais lorsque je met ce programme dans eclispe il ne veux pas me le compiler. je vous montres mon code package fr.superdroid; import android.app.Activity; import android.content.Context; import android.hardware.SensorListener; import android.hardware.SensorManager; import android.os.Bundle; import android.widget.TextView; public class superdroid extends Activity { @Override public void onCreate(Bundle savedInstanceState) { capteur accelerometre; String txt = new String(); TextView tv = new TextView(this); accelerometre = new capteur(); super.onCreate(savedInstanceState); SensorManager m = (SensorManager) getSystemService(Context.SENSOR_SERVICE); m.registerListener(accelerometre, SensorManager.SENSOR_ACCELEROMETER); txt = "X : " + accelerometre.x; txt = txt + "\nY : " + accelerometre.y; txt = txt + "\nZ : " + accelerometre.z; tv.setText(txt); setContentView(tv); } class capteur implements SensorListener{ float x, y, z; public void onSensorChanged(int sensor, float[] values) { x = values[0]; y = values[1]; z = values[2]; } } } il me souligne en rouge le capteur de class capteur donc je ne sais pas quoi faire ... Pouvez vous m'aider ? Merci, Bonne soirée Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Seb Posté(e) 11 juin 2009 Share Posté(e) 11 juin 2009 Salut, Bienvenue sur le forum :) à priori c'est déjà fait, mais au cas où, un petit "ctrl+maj+o" pour ajouter tous les imports qui pourraient manquer :( Sinon, quelle erreur est affichée en relation avec ce soulignement rouge ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 11 juin 2009 Auteur Share Posté(e) 11 juin 2009 Bonjour, Voilà ce qu'il me met. . De plus quand je fait export pour un apk non signé et que je le lance sur mon portable. Il ne veux psa l'installer dessus est-ce parce que l'application n'est pas signé ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
20Syl Posté(e) 11 juin 2009 Share Posté(e) 11 juin 2009 Clique sur "Add unimplemented methods" pour voir. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 11 juin 2009 Auteur Share Posté(e) 11 juin 2009 (modifié) Quand je clique sur "Add unimplemented methods" voilà ce qu'il me rajoute dans la class Avant : class capteur implements SensorListener{ float x, y, z; public void onSensorChanged(int sensor, float[] values) { x = values[0]; y = values[1]; z = values[2]; } } Apres class capteur implements SensorListener{ float x, y, z; public void onSensorChanged(int sensor, float[] values) { x = values[0]; y = values[1]; z = values[2]; } @Override public void onAccuracyChanged(int sensor, int accuracy) { // TODO Auto-generated method stub } } Modifié 11 juin 2009 par Blister Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pjv Posté(e) 11 juin 2009 Share Posté(e) 11 juin 2009 Il semblerait que l'interface SensorListener soit dépréciée depuis le dernier SDK et qu'il faille utiliser l'interface SensorEventListener. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
20Syl Posté(e) 11 juin 2009 Share Posté(e) 11 juin 2009 Quand je clique sur "Add unimplemented methods" voilà ce qu'il me rajoute dans la classAvant : class capteur implements SensorListener{ float x, y, z; public void onSensorChanged(int sensor, float[] values) { x = values[0]; y = values[1]; z = values[2]; } } Apres class capteur implements SensorListener{ float x, y, z; public void onSensorChanged(int sensor, float[] values) { x = values[0]; y = values[1]; z = values[2]; } @Override public void onAccuracyChanged(int sensor, int accuracy) { // TODO Auto-generated method stub } } et ça marche pas ça ? sinon faut voir avec l'interface SensorEventListener comme le dit pjv... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 12 juin 2009 Auteur Share Posté(e) 12 juin 2009 Bonjour, j'ai un probleme quand je compile en apk avec eclipse en mode non signé impossible de l'installer sur mon Gphone ? normale ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Rafou Posté(e) 12 juin 2009 Share Posté(e) 12 juin 2009 Tu as une option pour ça : Paramètres -> Applications -> Sources inconnue Coche la case, et normalement ça devrait aller mieux :) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pjv Posté(e) 12 juin 2009 Share Posté(e) 12 juin 2009 (modifié) sinon faut voir avec l'interface SensorEventListener comme le dit pjv... Testé et approuvé :) import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; public class Capteur implements SensorEventListener { private float x; private float y; private float z; public void onAccuracyChanged(Sensor sensor, int accuracy) { // TODO Auto-generated method stub } public void onSensorChanged(SensorEvent event) { x = event.values[0]; y = event.values[1]; z = event.values[2]; } public float getX() { return x; } public float getY() { return y; } public float getZ() { return z; } } Modifié 12 juin 2009 par pjv Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 12 juin 2009 Auteur Share Posté(e) 12 juin 2009 (modifié) J'ai bien cocher la case pour les sources inconnus mais quand j'essaye d'installer ça me marque (quand j'installe avec astro) Impossible d'installer l'application sur ce téléphone ... Sinon pour ta classe je la met dans un autre fichier ? ou je peut tous mettres sur le même ? Modifié 12 juin 2009 par Blister Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Fluckysan Posté(e) 12 juin 2009 Share Posté(e) 12 juin 2009 J'ai bien coucher la case pour les sources inconnus mais quand j'essaye d'installer ça me marque (quand j'installe avec astro)Impossible d'installer l'application sur ce téléphone ... Sinon pour ta classe je la met dans un autre fichier ? ou je peut tous mettres sur le même ? C'est la même classe (capteur) mais il faut que tu changes l'interface qu'elle implemente Donc change SensorListener en SensorEventListener Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 12 juin 2009 Auteur Share Posté(e) 12 juin 2009 Est ce que mon probleme d'installation du apk peut être du au fichier manifest.xml ? si oui comment le configurer ? dsl je suis un vrai noob sur android je débute .... Merci de votre aide Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 12 juin 2009 Auteur Share Posté(e) 12 juin 2009 Une autre question, est ce que ce morceau de code est obligatoire ? SensorManager m = (SensorManager) getSystemService(Context.SENSOR_SERVICE); m.registerListener(accelerometre, SensorManager.SENSOR_ACCELEROMETER); car il me met cette erreur Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
arnouf Posté(e) 12 juin 2009 Share Posté(e) 12 juin 2009 Une autre question,est ce que ce morceau de code est obligatoire ? SensorManager m = (SensorManager) getSystemService(Context.SENSOR_SERVICE); m.registerListener(accelerometre, SensorManager.SENSOR_ACCELEROMETER); car il me met cette erreur Non bien sur que non, je pense qu'il a mis cela en place pour embrouiller l'esprit! Oui c'est obligatoire, car tu récupères l'accès au sensor proposé par le systeme...et tu ajoutes l'écouteur qui va écouter ce qu'il se passe sur le sensor pour y appliquer ton code. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pjv Posté(e) 12 juin 2009 Share Posté(e) 12 juin 2009 Ton soucis vient du faire que ton objet accelerometre (instance de la classe Capteur implémentant SensorEventListener) est reconnu comme "une variante de SensorEventListener". Dans le tutoriel que tu utilises, le SensorManager fait appel à sa méthode registerListener qui prend en paramètre un objet SensorListener. Or, ton accelerometre n'est pas "une variante" de SensorListener. Je te laisse le plaisir de trouver la modification à apporter pour que cela fonctionne comme tu le souhaites (ce n'est pas compliqué). Quant à l'utilité de définir un SensorManager, c'est nécessaire car c'est la passerelle entre ton application et le hardware. Il se charge de définir quel Sensor est nécessaire à l'appli. Ceci permet de faire en sorte qu'elle ne soit pas perturbée par n'importe quel autre Sensor. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 12 juin 2009 Auteur Share Posté(e) 12 juin 2009 Donc si j'ai bien compris il faudrais que je face un registerEventListener ? sinon j'ai séparer en 2 fichier un pour ma classe capteur et l'autre pour ma classe "mère" Une autre question il faut toujours que j'utilise SensorManager ? car il me dit que la methode registerEventListener n'est pas définé pour un type sensorManager Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 15 juin 2009 Auteur Share Posté(e) 15 juin 2009 Bonjour je me permet d'uppé car je n'ai toujours pas completement résolue mon probleme ... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
pjv Posté(e) 15 juin 2009 Share Posté(e) 15 juin 2009 Donc si j'ai bien compris il faudrais que je face un registerEventListener ? sinon j'ai séparer en 2 fichier un pour ma classe capteur et l'autre pour ma classe "mère" Non. Une autre question il faut toujours que j'utilise SensorManager ? car il me dit que la methode registerEventListener n'est pas définé pour un type sensorManager Tout simplement parce qu'elle n'existe pas. Est-ce que tu utilises cette doc : lien ? Tout est là, il suffit de lire un peu et de trouver ce que tu cherches. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blister Posté(e) 15 juin 2009 Auteur Share Posté(e) 15 juin 2009 pjv est ce qu'on pourrais prendre contact si ça ne te dérange pas j'aurais quelques question à te poser Merci (tu peut m'envoyer un mail avec ton msn ou autre si tu as merci) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.