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 recuperer un Context android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Juin 2016
    Messages
    20
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Juin 2016
    Messages : 20
    Par défaut comment recuperer un Context android
    bonjour

    je suis bloqué sur un probleme depuis pas mal de temps

    voila:je cherche a faire un petite application qui fait des annonces audio quand je clic sur un "button"

    quand je fait mon code dans la classe MainActivity,pas de probleme

    mais pour des raisons d aspect pratique,je voudrais appeler une classe java qui fasse la partie audio

    en fait ,c est pour permettre de faire une classe a chaque cas de figure ,mais aussi pour pouvoir reprendre des parties de mon code plus facilement d apres moi,et les reutiliser suivant mes idées

    donc quand je cree ma classe java que j appelle audio, j envoi a une methode appele vocale un tableua ou, suivant le int envoyé je lis telle ou telle piste mp3;j ai fait un dossier raw ou j ai mis les sons voulus et je l ai mis dans res de mon projet

    j ai constaté que ,dans ma classe java vocale ,il fallait que je donne le chemin d acces complet de ces pistes audio

    par contre ,eclipse (oui je me sert d eclipse pour programmer sous android et en plus j ai un vieux pc 32 bits) me met une erreur sur le ".create":

    The method create(Context, int) in the type MediaPlayer is not applicable for the arguments (vocale, int)

    a force de chercher,j ai cru comprendre que cela venait du fait que je n avais aucun context dans ma classe,le this ne renvoyant a rien

    du coup ,je pensais importer le context de MainActivity,mais je ne comprend pas du tout comment il faut faire

    je suis amateur et debutant et autodidactesur la programmation,seul devant mon clavier,ce qui explique mes nombreuses lacunes et imperfections

    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
    package com.example.scorepetforum;
     
    import android.support.v7.app.ActionBarActivity;
    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.os.Bundle;
    import android.provider.MediaStore.Audio;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.MotionEvent;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.view.View.OnTouchListener;
    import android.widget.Button;
    import android.widget.TextView;
    import android.widget.Toast;
     
     
    public  class MainActivity extends Activity  {
     
        int compteur=0;
        int compteur2=0;
        static int[]memaff=new int[2];
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
     
            super.onCreate(savedInstanceState);
     
            setContentView(R.layout.activity_main);
     
     
     
        }
     
        public void audio(View view) {
            ;
    memaff[0]=compteur;
    memaff[1]=compteur2;
            vocale a=new vocale();
            a.causer(memaff);
     
            };
    }
    le xml
    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
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#2085e1"
        android:paddingBottom="@dimen/activity_vertical_margin"
        android:paddingLeft="@dimen/activity_horizontal_margin"
        android:paddingRight="@dimen/activity_horizontal_margin"
        android:paddingTop="@dimen/activity_vertical_margin"
        tools:context="com.example.petanque.MainActivity" >
     
        <Button
            android:id="@+id/button5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:onClick="audio"
            android:text="audio" />
     
    </RelativeLayout>
    et ma fameuse classe java vocale
    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
    package com.example.scorepetforum;
     
     
    import android.R;
    import android.media.MediaPlayer;
    import android.support.v7.app.ActionBarActivity;
    import android.util.Log;
    import java.io.IOException;
    import android.app.Activity;
    import android.media.MediaPlayer;
    import android.net.Uri;
    import android.os.Bundle;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
     
    public class vocale {
     
        private MediaPlayer eux;
        private MediaPlayer p12;
        ;
     
            public void causer(int[] memaff) {
                p12 = MediaPlayer.create(this, com.example.scorepetforum.R.raw.p12);
                eux=(MediaPlayer.create(this,com.example.scorepetforum.R.raw.eux));
                 switch(memaff[0]){
     
                   case 1:
                       eux.start();
                       break;
     
                   case 2:
                       p12.start();
                       break;
     
     
               }
     
            }
    si vous pouvez me dire comment il faut faire,merci

  2. #2
    Membre éprouvé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2006
    Messages
    959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 959
    Par défaut
    salut, MainActivity ne doit-elle pas se trouver dans com.example.scorepetforum ? du coup dans le xml il devrait y avoir com.example.scorepetforum.MainActivity.

    cdt

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/02/2014, 12h14
  2. Réponses: 1
    Dernier message: 01/02/2011, 16h22
  3. [JUnit] Comment puis-je générer ou récuperer un context via JUNIT
    Par maxf1 dans le forum Tests et Performance
    Réponses: 3
    Dernier message: 19/02/2007, 09h17
  4. Réponses: 5
    Dernier message: 07/07/2004, 15h13

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