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 :

Demande d'aide pour analyser un source java


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut Demande d'aide pour analyser un source java
    Bonjour,
    Complétement néophyte en java et pris par le temps, je recherche de l'aide sur java pour Andoid.
    Mon soucis est le suivant :
    J'ai un smartphone avec imprimante intégrée de la marque CITAQ et question logiciel + doc cela se résume juste en un petit fichier contenant un exemple avec le .jar, .class... le minimum vital.
    Le développement se fait avec Windev Mobile qui peut intégrer des procédures en java.
    Mon but c'est d'avoir juste une petite fonction fonction java. Je suis complétement bloqué a cette étape !
    Voici mon 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    import woyou.aidlservice.jiuiv5.IWoyouService;
    import woyou.aidlservice.jiuiv5.ICallback;
    import android.app.Activity;
    import android.app.Service;
    import android.content.ComponentName;
    import android.content.Context;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.content.ServiceConnection;	
    import android.os.Bundle;
    import android.os.IBinder;
    import android.os.RemoteException;
    import android.util.Log;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.Toast;
     
    public static void PrintData(String sData)
    {
    	IWoyouService woyouService;
    	final String TAG = null;
     
    	Toast.makeText(getApplicationContext(), "Etape 1 : ".concat(sData), Toast.LENGTH_SHORT).show();
    	Intent intent = new Intent();
    	intent.setPackage("woyou.aidlservice.jiuiv5");
    	intent.setAction("woyou.aidlservice.jiuiv5.IWoyouService");
    	getApplicationContext().startService(intent);
    	//getApplicationContext().bindService(intent, connService, Context.BIND_AUTO_CREATE);
     
    	//----------------------------------------------------------------------------------
    	ICallback callback = new ICallback.Stub() {
    		@Override
    		public void onRunResult(boolean isSuccess) throws RemoteException {
    			Log.d(TAG, "ICallback--->" + isSuccess); 
    		}
     
    		@Override
    		public void onReturnString(String result) throws RemoteException {
    			Log.d(TAG, "ICallback--->" + result); 
    		}
     
    		@Override
    		public void onRaiseException(int code, String msg) throws RemoteException {
    			Log.d(TAG, "onRaiseException--->" + msg);
    		}
     
    	};
     
    	//----------------------------------------------------------------------------------
    	ServiceConnection connService = new ServiceConnection() {
    		@Override
    		public void onServiceDisconnected(ComponentName name) {
    			woyouService = null;
    		}
    		@Override
    		public void onServiceConnected(ComponentName name, IBinder service) {
    			woyouService = IWoyouService.Stub.asInterface(service);
    			try {
    				woyouService.printerInit(callback);
    			} catch (RemoteException e) {
    				Log.d(TAG, "registerCallback failed.");
    			}
    		}
    	};
     
    };
    et la compilation me sort :
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:85: error: variable woyouService might not have been initialized
    woyouService.printerInit(callback);
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:79: error: local variable woyouService is accessed from within inner class; needs to be declared final
    woyouService = null;
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:83: error: local variable woyouService is accessed from within inner class; needs to be declared final
    woyouService = IWoyouService.Stub.asInterface(service);
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:85: error: local variable callback is accessed from within inner class; needs to be declared final
    woyouService.printerInit(callback);
    ^
    Vu que le compilateur me dit : local variable woyouService is accessed from within inner class; needs to be declared final, je met
    "final" devant "IWoyouService woyouService;" et la compilation me sort :


    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:79: error: cannot assign a value to final variable woyouService
    woyouService = null;
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:83: error: cannot assign a value to final variable woyouService
    woyouService = IWoyouService.Stub.asInterface(service);
    ^
    2 errors

    et la je bloque complétement !!!
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Peut-être la solution bête et méchante pour que cela compile est d'en faire un champs de la classe :

    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    IWoyouService woyouService;
     
    public static void PrintData(String sData)
    {
    	IWoyouService woyouService; //a enlever d'ici !!
     
    }
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    Bonsoir
    merci pour votre aide, malheureusement cela génère une autre erreur :

    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:91: error: non-static variable woyouService cannot be referenced from a static context
    woyouService = null;
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:96: error: non-static variable woyouService cannot be referenced from a static context
    woyouService = IWoyouService.Stub.asInterface(service);
    ^
    src\com\masociete\bus\wdgen\GWDCPProceduresGlobales.java:98: error: non-static variable woyouService cannot be referenced from a static context
    woyouService.printerInit(callback);
    ^

  4. #4
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    Pour info voici le contenu du répertoire bin\classes\woyou\aidlservice\jiuiv5
    Fichiers attachés Fichiers attachés

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2014
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2014
    Messages : 93
    Points : 166
    Points
    166
    Par défaut
    bonjour
    Après de très nombreuses lectures sur le net il m'apparait de plus en plus qu'il est impossible d’implanter directement dans une fonction java (sous Windev Mobile) l'accès à un service. On doit surement devoir passer par une classe encapsulant le bazar...Cette classe, dans mon cas, devra avoir juste une méthode publique : imprimer du texte en utilisant la méthode printTexte() de la classe IWoyouService.

    Maintenant la question est : Pour coder cette classe faut-il absolument Eclipse ou Android Studio ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 19/02/2010, 09h40
  2. demande d'aide pour faire un plateau de jeu en java
    Par trodurlejava dans le forum Langage
    Réponses: 4
    Dernier message: 09/01/2007, 12h40
  3. Demande d'aide pour analyser un warning
    Par Pierre.g dans le forum C
    Réponses: 2
    Dernier message: 30/10/2006, 22h38

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