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 :

MsgConnect et Android


Sujet :

Android

  1. #1
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut MsgConnect et Android
    Bonjour !

    Comme je l'ai dit dans un précédent poste, j'essaye de faire dialoguer deux applis avec la librairie MsgConnect.

    Pour le moment, j'essaye d'envoyer un message depuis Android vers une appli Delphi (en fait, la demo fournit par Eldos, "SendNote").
    Je n'ai qu'une simple activité dont voici le code :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    public class msgconnectActivity extends Activity {
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
     
            boolean b = MCMessenger.setLicenseKey("...................");
     
            StringBuffer mess_erreur_buff = new StringBuffer();
     
            MCMessenger messenger = new MCMessenger();
     
            String S = new String("HelloWorld");
            MCMessage message = MCMessenger.createMessageFromText(1, 1, 1, S, null, false);
     
            MCSocketTransport transport = new MCSocketTransport();
     
            transport.setMessenger(messenger);
    		transport.setTransportMode(MCInetTransport.stmServer);
    		transport.setMessengerPort(14583);
    		try {
    			transport.setMessengerAddress("10.10.1.184"); // Adresse IP du PC avec l'appli Delphi sur le réseau local
    		} catch (EMCError e1) {			
    			e1.printStackTrace();
    		}
     
            try{
    			transport.setActive(true);
    		} catch(Exception ex){
    			mess_erreur_buff.append(ex.toString());
    			mess_erreur_buff.append("\n\n");
    			Log.i("MSG", ex.toString());
    		}
     
            try {
    			messenger.postMessage("Socket:10.10.1.184:14583|SendNote", message, null);
    			Toast toast = Toast.makeText(getApplicationContext(), "OK", Toast.LENGTH_LONG);	
    			toast.show();
    		} catch (EMCError e) {
    			mess_erreur_buff.append(e.toString());
    			mess_erreur_buff.append("\n\n");
    			Log.i("MSG", e.toString());
    		}
     
            ((TextView)findViewById(R.id.Text_a)).setText(new String(mess_erreur_buff));
     
        }
    }
    L'appli plante purement et simplement au moment du transport.setActive(true) ... Pas d'exception, rien. Je ne comprend pas pourquoi.

    J'ai joins ce que me dit le logcat.

    Si quelqu'un qui aurait éventuellement déjà utilisé cette librairie sous Android ou autre pourrait me donner quelques infos, ça serait sympa.

    Merci d'avance.
    Fichiers attachés Fichiers attachés
    • Type de fichier : txt log.txt (11,6 Ko, 378 affichages)

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Pour les personnes ne voulant pas DL le fichier txt pour avoir le logcat, voici sa partie intéressante :

    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
    04-26 11:54:26.292: E/AndroidRuntime(25320): FATAL EXCEPTION: main
    04-26 11:54:26.292: E/AndroidRuntime(25320): java.lang.NoClassDefFoundError: javax.microedition.io.Connector
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at org.eldos.MsgConnectME.MCSocket.MCInetListenerJob.initialize(MCInetListenerJob.java:35)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at org.eldos.MsgConnectME.MCSocket.MCInetTransport.createListenerJob(MCInetTransport.java:332)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at org.eldos.MsgConnectME.MCSocket.MCInetTransport.doSetActive(MCInetTransport.java:768)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at org.eldos.MsgConnectME.MCBase.MCBaseTransport.setActive(MCBaseTransport.java:188)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at test.acia.msgconnectActivity.onCreate(msgconnectActivity.java:42)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1093)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1794)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1851)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.ActivityThread.access$1500(ActivityThread.java:132)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1038)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.os.Handler.dispatchMessage(Handler.java:99)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.os.Looper.loop(Looper.java:143)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at android.app.ActivityThread.main(ActivityThread.java:4277)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at java.lang.reflect.Method.invokeNative(Native Method)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at java.lang.reflect.Method.invoke(Method.java:507)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
    04-26 11:54:26.292: E/AndroidRuntime(25320): 	at dalvik.system.NativeStart.main(Native Method)
    Tu as un problème ligne 42 de ta classe msgconnectActivity (pour info, la convention Java pour les classes est le UpperCamelCase, où chaque mot doit commencer par une majuscule).
    Une NoClassDefFound, ce qui pourrait indiquer que ta bibliothèque est mal liée.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Il semble qu'il y est effectivement un problème avec la librairie. Je suis en contact avec les auteurs.

    Je vous tiendrai au courant.

  4. #4
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Juste pour dire que le problème est résolu après avoir éditer le .classpath du projet.

    En effet, il manquait exported="true" dans la ligne concernant le .jar de la librairie.

    Quelqu'un pourrait-il m'expliquer l'utilité de ceci car je ne suis pas sur d'avoir bien compris. Et surtout, y'a t-il moyen de configurer cela dans Eclipse au lieu d'éditer directement le fichier .classpath ?

  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
    Oui... le bouton droit offre tout un tas d'options sur le projet, et surtout les "properties", de là il y a la liste des librairies utilisées, et celles qui sont exportées...
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Android challenge : Construction d'une équipe projet
    Par myDroid dans le forum Android
    Réponses: 0
    Dernier message: 15/11/2007, 20h06

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