onTouchListener et ACTION_UP : Développement sur Android


 

onTouchListener et ACTION_UP

Ce forum est consacré aux développeurs et au développement pour Android. Trouver de l'aide, des idées, des tutoriaux, des scripts, ... Télécharger Android SDK, le Kit de développement Android.

onTouchListener et ACTION_UP

Messagede AnonyMouse le Lun 14 Nov 2011 19:27

Bonsoir à tous et toutes,

Je débute dans le développement android, bien qu'ayant quelques notions de Java.

Je cherche à faire une application qui envoie des codes à un périphérique connecté via Bluetooth.
La connexion se fait bien, les codes ne sont pas encore envoyés... Mais cela ne saurait tarder.

Je bloque en revanche sur un problème d'Intent/Listener...

J'ai un bouton, sur une vue, qui lorsqu'on le touche, doit envoyer un code par bluetooth jusqu'à ce qu'on ne le touche plus.
Or je ne sais pas comment réaliser cela... Actuellement, il ne peut envoyer qu'un code à chaque fois qu'on le touche.

Mon activité implémente (entre autres) l'interface onTouchListener, et j'ai implémenté la méthode onTouch qui envoie le code en fonction du bouton (View) que je touche.

Est-ce qu'il faut boucler par rapport au MotionEvent ? (cela n'a pas l'air de marcher...)
Si oui, comment le passe-t-on en paramètre à l'appel à onTouch ?!

Voici un bout de code simplifié pour y voir plus clair...


Code: Tout sélectionner
public class MainActivity extends Activity implements [...], OnTouchListener {
    Button mButton = null;

    onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        mButton = (Button)findViewById(R.id.mButton);
        mButton.setOnTouchListener(this); // -> MotionEvent ?!
    }

    public boolean onTouch(View v, MotionEvent event) {
        int action = event.getAction();

        // Comment faire pour executer un code jusqu'à ce qu'on "lache" mButton ????
        if (v == this.mButton) {
            code = "0x00000001";
            try {
                 mBluetoothService.write(code.getBytes());
            }
            catch (Exception e) {
                  // mode debug, affichage de l'exception.
                  // je sais que c'est pas beau, mais mon simulateur ne marche pas car le bluetooth n'est pas supporté.
                  // Donc aucun moyen de débugger proprement... A moins qu'une bonne idée ne vienne à mon secours ?!
                 Toast.makeText(this, e.toString(), Toast.LENGTH_SHORT).show();
            }
        }
    }
}
AnonyMouse
 
Messages: 1
Inscription: Lun 14 Nov 2011 19:14


Développement sur Android


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité