Problème de développement d'aplication bluetooth : Développement sur Android


 

Problème de développement d'aplication bluetooth

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.

Problème de développement d'aplication bluetooth

Messagede c_romeo19 le Jeu 30 Juin 2011 10:36

Bonjour,

Je suis actuellement entrin de développer une application Bluetooth sous android 2.3.3 (avec un Nexus S).
Mon application joue le rôle d'un serveur au quel je me connecte via mon PC qui jour le rôle du client!
Pour ma partie JAVA sur mon ordi ça marche mais le problème est sur ma partie téléphone car quand je crée mon serveur RFCOMM, en voulant connecter mon socket la l'application sort en me disant "Fermeture soudaine de l'application".
J'arrive pas a comprendre d'ou viens mon problème meme si j'ai bien étudié mon programme ca reste bizard .
Je vous met le code comme ca s'il ya quelqu'un pour m'aider la dessus.

Code: Tout sélectionner
public class ServeurBluetoothActivity extends Activity {
   
   private static final int REQUEST_ENABLE_BT = 3;
   private BluetoothAdapter mBluetoothAdapter ;
   private UUID mon_UUID  = java.util.UUID.fromString("1A58D2E8-6DEE-405E-94C6-DA32C905DD65");
   private EditText T;
   Thread monserveur;
   
   
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mBluetoothAdapter=BluetoothAdapter.getDefaultAdapter();
        T=(EditText)this.findViewById(R.id.editText1);
       
        if (!mBluetoothAdapter.isEnabled()) {
            Intent enableBtIntent = new Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE);
            startActivityForResult(enableBtIntent,REQUEST_ENABLE_BT);
           
        }
       
        monserveur =new FTserveur();
        monserveur.start();
     
       
    }
    private class FTserveur extends Thread {
       private BluetoothServerSocket SocketServeur;
       private BluetoothSocket socket = null;
       
        public FTserveur(){
        try
        {
           SocketServeur = mBluetoothAdapter.listenUsingRfcommWithServiceRecord("PolytechService", mon_UUID);
           T.append("Socket server OK !"+"\n");
        }
        catch (IOException e) { }
        }
       
        public void run() {
                     
           
                      T.append("RUN"+"\n");// pour connectre le deroulement de l'application
                      while (socket==null) {
                      try {
                      socket = SocketServeur.accept();
                       } catch (IOException e) {
                          T.append("probleme socketserveur.accept \n");   
                      }
                      if (socket != null) {
                         synchronized (ServeurBluetoothActivity.this) {
                         T.append("ICI 1\n");
                         
                            //Récéption de données
                            Thread recepteur = new manageConnectedSocket(socket);
                            recepteur.start();
                           
                         
                            try {
                            SocketServeur.close();
                        } catch (IOException e) {
                           e.printStackTrace();
                        }
                            break;
                        }

                      }
                      }
                      }
       
public void cancel() {
            try {
               SocketServeur.close();
            } catch (IOException e) { }
        }
    }
   
   
   
   
   
   
private class manageConnectedSocket extends Thread {
        private final BluetoothSocket mmSocket;
        private final InputStream mmInStream;
        String message="j'ai rien recu !";
     
        public manageConnectedSocket(BluetoothSocket socket) {
            mmSocket = socket;
            InputStream tmpIn = null;
       
            try {
                tmpIn = socket.getInputStream();
               
            } catch (IOException e) { }
     
            mmInStream = tmpIn;
           
        }
     
        public void run() {
            byte[] buffer = new byte[1024]; 
            int bytes;
     
           
            while (true) {
                try {
                   
                 bytes = mmInStream.read(buffer);
                 message=buffer.toString();
                 T.append(message+"\n");
                } catch (IOException e) {
                    break;
                }
            }
        }

     
        public void cancel() {
            try {
                mmSocket.close();
            } catch (IOException e) { }
        }
    }
}


Merci de votre aide !! :)
c_romeo19
 
Messages: 1
Inscription: Jeu 30 Juin 2011 10:24


Développement sur Android



Sujets similaires A Problème de développement d'aplication bluetooth


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 2 invités

cron