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 :

Comment déclarer mon Intent ?


Sujet :

Android

  1. #1
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2014
    Messages : 153
    Points : 316
    Points
    316
    Par défaut Comment déclarer mon Intent ?
    Bonjour,

    Dans mon code de capture vidéo développé pour android avec eclipse, j'ai l'erreur suivante qui m'occupe depuis 3 heures sans trouvé de solution:

    "Syntax error on token "{", { expected after this token" sur l'accolade en rouge dans mon code ci-dessous

    Code Java : 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
    package com.testvideo;
    
    import android.content.Context;
    import android.content.Intent;
    import android.content.pm.PackageManager;
    import android.graphics.Camera;
    import android.net.Uri;
    import android.os.Bundle;
    import android.provider.MediaStore;
    import android.support.v4.app.Fragment;
    import android.view.LayoutInflater;
    import android.view.SurfaceHolder;
    import android.view.SurfaceView;
    import android.view.View;
    import android.view.ViewGroup;
    
    
    
    public class capture extends Fragment  {
    	
    	
    	static final int CAMERA = 1;
    
    	@Override
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    		View root = inflater.inflate(R.layout.capture, container, false);
    		return root;
    	}
    		
    		    public Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE) {
    		    
    		    if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
    		        startActivityForResult(takeVideoIntent, CAMERA);
    		    }
    		    
    		    
    		    return Intent;
    		    
    		
    		}
    		
    		@Override
    		public View onActivityResult(int requestCode, int resultCode, Intent data) {
    		    if (requestCode == CAMERA && resultCode == RESULT_OK) {
    		        Uri videoUri = intent.getData();
    		        mVideoView.setVideoURI(videoUri);
    		    }
    		    return View;
    		}
    		
    		
    };};

    Je ne vois absolument pas d'où viens le problème.

    Merci d'avance
    Ma plateforme de formations digitales (développement Web, cybersécurité, SEO, Marketing digital)

    https://monformateurindependant.com

  2. #2
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Bon j'y connais rien en prog mobile mais on dirait bien qu'il te manque un bout de code.

    Tu déclare une méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
      View root = inflater.inflate(R.layout.capture, container, false);
      return root;
    }
    Puis tu écris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    public Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE) {
    Or il n'y a aucune entête de méthode. C'est comme si tu écrivais du code en pleins milieu de ta classe.

    En plus tu fais un return juste après.

    Ca devrait plutot ressembler à un truc comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public maMethode () {
    Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
     
    if (takeVideoIntent.resolveActivity(getPackageManager()) != null) {
      startActivityForResult(takeVideoIntent, CAMERA);
    }
     
    return Intent;
     
    }

  3. #3
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2014
    Messages : 153
    Points : 316
    Points
    316
    Par défaut
    Merci

    Je suis un débutant dans la programmation. Comment dois-je procéder pour déclarer? je sais qu'il s'agit de quelque chose comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    TypeDeRetour nomDeLaMethode(Type1 argument1, Type2 argument2) {
          liste d'instructions
    }
    De plus, ou dois-je placer le return? Je souhaite que la capture vidéo soit sauvegardée pour être réutilisé en dessous pour l'affichage sur le layout "capture".

    Merci d'avance.
    Ma plateforme de formations digitales (développement Web, cybersécurité, SEO, Marketing digital)

    https://monformateurindependant.com

  4. #4
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2014
    Messages
    153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2014
    Messages : 153
    Points : 316
    Points
    316
    Par défaut
    Merci

    J'ai ajouté la ligne suivante comme tu me l'indique mais à présent, j'ai une dizaine d'erreur différentes.

    Voici dans le détail:

    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
    public videocreation() //Return type for the method is missing {
    		   Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    		    
    		    if (takeVideoIntent.resolveActivity(getPackageManager()//The method getPackageManager() is undefined for the type capture ) != null) {
    		        startActivityForResult(takeVideoIntent, CAMERA);
    		    }
    		    
    		    
    		    return Intent //Intent cannot be resolved to a variable;
    		    
    		
    		}
    		
    		@Override
    		public View //Multiple markers at this line
    	- The return type is incompatible with Fragment.onActivityResult(int, int, Intent)
    	- overrides android.support.v4.app.Fragment.onActivityResult onActivityResult(int requestCode, int resultCode, Intent data) {
    		    if (requestCode == CAMERA && resultCode == RESULT_OK //RESULT_OK cannot be resolved to a variable) {
    		        Uri videoUri = intent.getData() //intent cannot be resolved;
    		        mVideoView.setVideoURI(videoUri);//mVideoView cannot be resolved
    		    }
    		    return View;//View cannot be resolved to a variable
    		}
    		
    		
    };}; //Syntax error on token "}", delete this token
    Merci d'avance
    Ma plateforme de formations digitales (développement Web, cybersécurité, SEO, Marketing digital)

    https://monformateurindependant.com

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    J'y connais pas grand-chose en mobile moi non plus, mais j'ai bien l'impression que tu essaies de développer en Android sans avoir fait de tutoriel dessus.

    C'est juste pas possible, tu y arriveras pas et c'est tout, et tu ne peux pas venir poser des questions chaque fois que tu ne sais pas par quel bout prendre un truc qui t'aurait été dit par un tutoriel.

    Forme-toi en Android d'abord, et essaie de faire des trucs, ensuite. Éventuellement tu peux poser des questions sur tes cours.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    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
    Citation Envoyé par setni Voir le message
    Merci

    J'ai ajouté la ligne suivante comme tu me l'indique mais à présent, j'ai une dizaine d'erreur différentes
    Oui et ells sont toutes claires... là on a visiblement un problème de Java générique... rien à voir avec android.

    1. En java un classe (un type: classe, interface, enum) commence par une Majuscule: CamelCase !



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public videocreation() //Return type for the method is missing {
    Ben voilà, il manque le type de retour de la fonction.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    		   Intent takeVideoIntent = new Intent(MediaStore.ACTION_VIDEO_CAPTURE);
    		    
    		    if (takeVideoIntent.resolveActivity(getPackageManager()//The method getPackageManager() is undefined for the type capture ) != null) {
    La fonction "getPackageMangaer()" n'existe pas dans le "scope" de ta classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    		        startActivityForResult(takeVideoIntent, CAMERA);
    		    } // <= fin du "if"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    	    
    		    return Intent //Intent cannot be resolved to a variable;
    return est forcément suivi d'une valeur... hors "Intent" est une classe...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    		    
    		} // fin de la fonction
    		
    		@Override
    		public View //Multiple markers at this line
    	- The return type is incompatible with Fragment.onActivityResult(int, int, Intent)
    	- overrides android.support.v4.app.Fragment.onActivityResult onActivityResult(int requestCode, int resultCode, Intent data) {
    Tu essayes de surcharger la fonction onActivityResult qui ne renvoit rien ! C'est interdit de modifier la "signature" de la fonction (le type retourné doit être compatible).
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		    if (requestCode == CAMERA && resultCode == RESULT_OK //RESULT_OK cannot be resolved to a variable) {
    Le compilateur ne connait aucun "RESULT_OK" dans le scope de la classe.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		        Uri videoUri = intent.getData() //intent cannot be resolved;
    intent est une variable... mais elle n'est définie nulle part... peut-être voulais-tu utiliser "data" ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    		        mVideoView.setVideoURI(videoUri);//mVideoView cannot be resolved
    Idem pour "mVideoView".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    		    return View;//View cannot be resolved to a variable
    		} // fin de la fonction
    Voir la remarque déjà faite sur le "return" précédent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    }; // <= fin de la classe, le ';' est inutile !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    }; //Syntax error on token "}", delete this token
    Et voilà un } qui ne correspond à aucun { => erreur.

    Commence à prendre un livre sur "Java", avant de t'attaquer à Android, tu gagneras énormément de temps !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par nicroman
    là on a visiblement un problème de Java générique... rien à voir avec android.
    Je précise que c'est moi qui ai déplacé dans le forum Android, parce qu'on était deux à, certes, avoir vu que c'était une syntaxe totalement invalide en Java, mais qu'on avait aucune idée de ce que c'est une Activity, un Intent, et qu'est-ce qui doit intervenir où quand quoi.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  8. #8
    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
    Pas de soucis thelvin

    C'est bien du Android, mais il va falloir dépoussiérer le Java, avant d'entrer dans la partie Android du truc !
    N'oubliez pas de cliquer sur mais aussi sur si un commentaire vous a été utile !
    Et surtout

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/02/2013, 13h29
  2. Comment faire mon choix
    Par SoubeigAbraham dans le forum Débuter
    Réponses: 1
    Dernier message: 07/10/2004, 14h29
  3. [Property] Comment déclarer une chaine par defaut ?
    Par Clorish dans le forum Composants VCL
    Réponses: 8
    Dernier message: 07/09/2004, 22h11
  4. Comment déclarer une DataSource dans server.xml
    Par guillaume06 dans le forum Tomcat et TomEE
    Réponses: 2
    Dernier message: 16/06/2004, 14h27
  5. Réponses: 7
    Dernier message: 04/06/2004, 15h20

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