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 :

Problème d'erreur code


Sujet :

Android

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut Problème d'erreur code
    Bonjour

    Dans ce 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
    public class telechargement extends Activity {
     
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.telecharge);
            UrlHelper();
    	}
    	private void UrlHelper() {
    		public void downloadFile(String urlStr){
    			downloadFile(urlStr, null);
    		}
     
    	}
    	private void downloadFile(String urlStr , File destFilePath)throws IOException, URISyntaxException {
    		// TODO Auto-generated method stub
     
    	}
     
    }
    Sur cette ligne public void downloadFile(String urlStr){
    j'ai downloadFile et ) de surligné
    le message d'erreur est le suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Multiple markers at this line
    	- void is an invalid type for the variable 
    	 downloadFile
    	- Syntax error on token ")", ; expected
    Pouvez-vous m'indiquer l'erreur d'écriture
    Merci

  2. #2
    Membre Expert
    Avatar de nbenbourahla
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 41
    Par défaut
    Salut,

    Pourquoi tu as deux méthodes imbriquer ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    private void UrlHelper() {
    		public void downloadFile(String urlStr){
    			downloadFile(urlStr, null);
    		}
     
    	}
    C'est pas possible de faire ça, que je sache tu as pas le droit de déclarer comme ça une méthode dans une autre. Faut revoir ton code et comment tu appelle tes methodes.

    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
     
    public class telechargement extends Activity {
     
    	public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.telecharge);
            UrlHelper();
    	}
     
    	private void UrlHelper() {
    	    downloadFile("test");
    	}
     
             public void downloadFile(String urlStr){
    	    downloadFile(urlStr, null);
             }
     
    	private void downloadFile(String urlStr , File destFilePath)throws IOException, URISyntaxException {
    		// TODO Auto-generated method stub
     
    	}
     
    }
    Ce code marchera mieux mais je sais pas s'il correspond à ce que tu veux faire.

  3. #3
    Membre très actif Avatar de _Xavier_
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2009
    Messages : 311
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    - Syntax error on token ")", ; expected
    Une parenthèse ")" de trop.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Bonjour

    Nakilu je veux pouvoir au lancement de mon appli télécharger un fichier de mise à jour (comme dans la FAQ télécharger un fichier)

    dans cette méthode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private void downloadFile(String urlStr , File destFilePath)throws IOException, URISyntaxException {
    C'est pas comme cela ?

  5. #5
    Membre Expert
    Avatar de nbenbourahla
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 41
    Par défaut
    Bonjour Vanessa48

    Si tu veux que ton appli télécharge un fichier au lancement, il faut créer une méthode qui télécharge ton fichier par exemple downloadFile et l’appeler dans la méthode OnCreate de ton application. C'est aussi simple que ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    @Override
    protected final void onCreate(Bundle savedInstanceState)
    {
     //Ton code
    downloadFile("str", dest);
    }
     
    private void downloadFile(String urlStr , File destFilePath)throws IOException, URISyntaxException {
    //Ton code de telechargement
    }
    Voila , en espérant que ça t'aide

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    J'ai corrigé mon code comme suit :

    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
    public void run() {
        		//Téléchargement du fichier
        		public void getFile(Url u) throws IOException{
        			URL u = new URL("http://www.mysite.com/BDSQLite/mybase");
        			URLConnection uc = u.openConnection();
        			uc.setUseCaches(true);
        			int FileLenght = uc.getContentLength();
        			if (FileLenght == -1){
        				Toast.makeText(miseAjour.this, "Erreur de chargement", 1000).show();
        				{
        				try	
        				}
        				InputStream myInput = uc.getInputStream();
        				String outFileName="/data/data/com.van.myappli/mybase";
        				FileOutputStream myOutPut = new myOutPut(outFileName);
        				byte[] buff = new byte[1024];
        				int I = myInput.read(buff);
        				while(I>0)
        				{
        					myOutPut.write(buff, 0, I);
        					I = myInput.read(buff);
        				}
        				myOutPut.flush();
        				myOutPut.close();
        				{
        					catch(Exception e)
        				}
        				Toast.makeText(miseAjour.this, e.toString, 1000).show();
        			}
        		}
        		//Télécharement terminé 
        		handler.sendEmptyMessage(0);
        	}
           	private Handler handler = new Handler() {
         		public void handleMessage(Message msg) {
        			Toast.makeText(miseAjour.this, "Chargement terminé ...", 1000).show();
        			dialog.dismiss();
        		}
        	};
        }
    Les caractères indiqués en rouge sont surlignés
    je n'arrive pas à corriger
    Pouvez-vous m'aider
    Merci

  7. #7
    Membre Expert
    Avatar de nbenbourahla
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    41
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 41
    Par défaut
    C'est quoi ton erreur exactement ? Tu peux copier le message stp ?

  8. #8
    Membre éprouvé Avatar de yaraco
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 89
    Par défaut
    Syntaxe incorrecte sur le try-catch:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    try {
    //ici le code qui est susceptible de lancer une exception
    }
    catch(Exception ex){
    //Le traitement de l'exception
    }
    Corrige ton placement des accolades.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Apres corrections j'ai

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public void getFile(Url u) throws IOException{
        			URL u = new URL("http://www.mysite.com/BDSQLite/mybase");
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileOutputStream myOutPut = new myOutPut(outFileName);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handler.sendEmptyMessage(0);

  10. #10
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public void getFile(Url u) throws IOException{
        			URL u = new URL("http://www.mysite.com/BDSQLite/mybase");
    En premier lieu Url n'existe pas mais plutôt URL.
    Après URL u ne peut pas être ici car la variable u existe déjà dans cette fonction puisque tu l'as dans la déclaration de celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileOutputStream myOutPut = new myOutPut(outFileName);
    La ce serait plutôt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FileOutputStream myOutPut = new FileOutputStream(outFileName);

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    handler.sendEmptyMessage(0);
    La c'est parceque le compilateur est perdu , dû à la première erreur qu'il t'as signalé puisque tu as un problème dans celle ci

    Maintenant je te conseille de relire attentivement la doc de java que tu trouveras ici .

  11. #11
    Membre éprouvé Avatar de yaraco
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 89
    Par défaut
    Il y a l'air d'avoir pas mal d'erreurs de cohérence.

    Par exemple pour l'url: tu donnes une url en paramètre à ta fonction, et tu re-déclares à l'intérieur une url avec le même nom.
    Soit tu réutilises la même url, soit tu en déclares une autre.

    Ensuite pour le myOutPut, myOutPut c'est le nom que tu donnes à ton FileOutputStream. Tu ne peux donc pas créer un nouveau myOutPut mais un FileOutputStream.

    Ça serait donc quelque chose du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    FileOutputStream myOutPut = new FileOutputStream(outFileName);
    Mais la question serait plutôt quel IDE utilises-tu?
    Par exemple sous netbeans, l'erreur de l'URL aurait été indiquée par "u" is already defined in ...
    Pour voir ça, il suffit de laisser la souris sur le mot souligné.

    Cela t'aidera à résoudre les problèmes de syntaxe.


    EDIT: Tient, Feanorin écrit plus vite que moi

  12. #12
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    J'ai corrigé mon code en tenant compte de vos remarques
    mais j'ai toujours void run() {

    u est bien comme cela ? : u = new URL("http://www.mysite.com/BDSQLite/mybase");

    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
    public void run() {
        		//Téléchargement du fichier
        		public void getFile(URL u) throws IOException{
        			u = new URL("http://www.mysite.com/BDSQLite/mybase");
        			URLConnection uc = u.openConnection();
        			uc.setUseCaches(true);
        			int FileLenght = uc.getContentLength();
        			if (FileLenght == -1){
        				Toast.makeText(miseAjour.this, "Erreur de chargement", 1000).show();
        				{
        				try	{
        				InputStream myInput = uc.getInputStream();
        				String outFileName="/data/data/com.van.myappli/mybase";
        				FileOutputStream myOutPut = new FileOutputStream(outFileName);
        				byte[] buff = new byte[1024];
        				int I = myInput.read(buff);
        				while(I>0) {
        					myOutPut.write(buff, 0, I);
        					I = myInput.read(buff);
        				}
        				myOutPut.flush();
        				myOutPut.close();
        				}
        				catch(Exception e){
     
        				Toast.makeText(miseAjour.this, e.toString(), 1000).show();
        			}
        		}
        		//Télécharement terminé 
        		handler.sendEmptyMessage(0);
        		}
        	};

  13. #13
    Membre éprouvé Avatar de yaraco
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2010
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2010
    Messages : 89
    Par défaut
    Pas regardé plus que ça, mais à première vue il y a d'abord un souci d'accolades. Par exemple tu en as une ouvrante au dessus du try qui n'a pas l'air de correspondre à grand chose.

    Vérifie tes accolades ouvrantes/fermantes, les IDE colorient généralement les accolades reliées quand on passe le curseur dessus.

  14. #14
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2011
    Messages
    312
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 312
    Par défaut
    Merci à tous pour votre aide
    l'erreur est résolue

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

Discussions similaires

  1. Problème erreur code Fortran (débutant)
    Par nekcorp dans le forum Fortran
    Réponses: 3
    Dernier message: 02/02/2015, 16h34
  2. Problème de mémoire (code erreur: 0403-031)
    Par bertinblb dans le forum AIX
    Réponses: 1
    Dernier message: 06/05/2013, 12h03
  3. [SQLServer 2008 R2] Problème de blocage - code erreur 1222
    Par Marco46 dans le forum Développement
    Réponses: 5
    Dernier message: 03/02/2011, 11h07
  4. Problème macro erreur code
    Par yayasiano dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 01/03/2009, 15h56
  5. Réponses: 24
    Dernier message: 27/01/2009, 09h18

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