2012-01-20 3 views
0

Je suis actuellement en train d'essayer d'écrire une application très simple qui envoie un objet en utilisant les sockets de mon téléphone Android à mon serveur simple. J'ai écrit le serveur pour recevoir l'objet, qui pour le moment ne reçoit qu'un objet Date, l'a testé avec un simple programme client depuis mon ordinateur portable et le serveur fonctionne mais je ne peux pas obtenir la version android pour me connecter. Si je pouvais obtenir des conseils serait vraiment apprécié. J'ai fourni mon code ci-dessous. Merci.Programmation Android avec Sockets

public class Test03 extends Activity { 
     /** Called when the activity is first created. */ 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.test03); 

      final Button gpsSend = (Button)findViewById(R.id.gpsSend); 

      gpsSend.setOnClickListener(new View.OnClickListener(){ 
     public void onClick(View v){ 
      // Contact Date Server 
      ObjectOutputStream oos = null; 
      ObjectInputStream ois = null; 
      Socket socket = null; 
      Date date = null; 

      try{ 
       socket = new Socket("igor.gold.ac.uk", 3000); 
       oos = new ObjectOutputStream(socket.getOutputStream()); 
       ois = new ObjectInputStream(socket.getInputStream()); 
       date = (Date) ois.readObject(); 
       DateFormat formatter = new SimpleDateFormat("dd-MMM-yy"); 
       textView.setText(formatter.format(date)); 
       oos.close(); 
       ois.close(); 
      } 
      catch(Exception e){ 
       textView.setText(e.getMessage()); 
      } 
     } 
    }); 
} 
} 

Merci pour l'aide s'avère que Jin35 avait raison. Je n'avais pas inclus les autorisations Internet dans le fichier manifeste.

Donc, pour tout autre newbies vous devez ajouter la ligne suivante à la manifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
+1

Quelle est l'erreur exacte que vous obtenez? – x4u

+1

Autorisez-vous l'accès à Internet? – Jin35

Répondre

0

Merci pour l'aide s'avère que Jin35 avait raison. Je n'avais pas inclus les autorisations Internet dans le fichier manifeste.

Donc, pour tout autre newbies vous devez ajouter la ligne suivante à la manifest.xml

<uses-permission android:name="android.permission.INTERNET" /> 
0

utilisation e.printStackTrace() au lieu de getMessage(). Il vaut mieux déboguer.