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 :

Erreur compilation application Android & MySQL


Sujet :

Android

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Par défaut Erreur compilation application Android & MySQL
    Bonjour;

    Je souhaite q'une appli android se connecte à une bdd mysql pour y extraire des données.
    lors de la compilation de mon app, émulateur android m"affiche l'erreur suivant:
    Sorry!the application HelloMetaComputer(process.com.Android.HelloMetaComputer)has stopped unexpectedly. Please Try again

    j'arrive pas a résoudre l'erreur.
    Mon fichier php connexion_mysql.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    $conn = mysql_connect ("localhost", "root", "");  
    $db_select = mysql_select_db ("etablissements", $conn);  
    $result =mysql_query("SELECT nom from ecoles", $conn);
    while ($row=mysql_fetch_assoc($result))     
    $output[] = $row;
    print(json_encode($output));
    mysql_close($conn);
    ?>
    Et le code de mon Activity :

    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
    70
     
    public class HelloMetaComputer extends ListActivity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         //setContentView(R.layout.main);
         String result = null;
         InputStream is = null;
         JSONObject json_data=null;
         ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
         ArrayList<String> donnees = new ArrayList<String>();
     
         try{
         //commandes httpClient
         HttpClient httpclient = new DefaultHttpClient();
            HttpPost httppost = new HttpPost("http://10.0.2.2/connexion_mysql.php");
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity entity = response.getEntity();
            is = entity.getContent();
            }
         catch(Exception e){
         Log.i("taghttppost",""+e.toString());
         Toast.makeText(getBaseContext(),e.toString() ,Toast.LENGTH_LONG).show();
                           } 
         //conversion de la réponse en chaine de caractère
            try
            {
             BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
     
             StringBuilder sb  = new StringBuilder();
     
             String line = null;
     
             while ((line = reader.readLine()) != null) 
             {
             sb.append(line + "\n");
             }
     
             is.close();
     
             result = sb.toString();
            }
            catch(Exception e)
            {
             Log.i("tagconvertstr",""+e.toString());
            }
            //recuperation des donnees json
            try{
              JSONArray jArray = new JSONArray(result);
     
                 for(int i=0;i<jArray.length();i++)
                 {
     
                       json_data = jArray.getJSONObject(i);
                       donnees.add(json_data.getString("nom"));
                       //r.add(json_data.getString("categorie"));
     
                   }
                    setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_expandable_list_item_1, donnees));
                }
                catch(JSONException e){
                 Log.i("tagjsonexp",""+e.toString());
                } catch (ParseException e) {
                 Log.i("tagjsonpars",""+e.toString());
           }
     
        }
    }
    Merci

  2. #2
    Membre confirmé
    Homme Profil pro
    etuidiant
    Inscrit en
    Octobre 2011
    Messages
    64
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : etuidiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 64
    Par défaut
    Qu'est ce que ton logcat t'affiche ?

    Le localhost pour l'émultateur est 10.0.2.2 et pas 127.0.0.1, tu l as bien configuré ? Tu a activé l'internet sur ton emulateur ? Niveau manifest tu as bien indiqué d'autorisé l'internet ? Dis nous ce qu'il y a dans le logcat ;-)

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Par défaut
    bonsoir;

    - pour localhost de l’émulateur: je pense qu'il se fait par code, et je l'as déjà fait
    10.0.2.2
    - pour l'autorisation et l'activation d'internet:j'ai lu dans des tuto que l’activation se fait lorsqu'on veut se connecter a une base de donne distante, pas locale.
    si je doit l'autoriser et l'activé,comment je peux le faire???

    c'est ma premiere pas en programmation android,je suis qu'un débutant

    Merci d'avance

  4. #4
    Membre éclairé
    Inscrit en
    Janvier 2010
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 89
    Par défaut
    Citation Envoyé par karamovic Voir le message
    bonsoir;
    - pour l'autorisation et l'activation d'internet:j'ai lu dans des tuto que l’activation se fait lorsqu'on veut se connecter a une base de donne distante, pas locale.
    Pour l'accès à une BDD locale aussi, tu dois definir la permission d'accès internet dans ton manifest.
    Et puisque tu utilises apparemment le tutoriel d'ici: http://mobilerie.blogspot.com/2012/0...-json-php.html
    qui marche bien(je confirme), c'est probablement cette permission qui te manque: va ton fichier manifest.xml et ajoute cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.INTERNET"></uses-permission
    Si le problème persiste, envoies-nous le contenu de ton LogCat..

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2012
    Messages
    89
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2012
    Messages : 89
    Par défaut
    Citation Envoyé par abablex Voir le message
    va ton fichier manifest.xml et ajoute cette ligne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <uses-permission android:name="android.permission.INTERNET"></uses-permission
    Si le problème persiste, envoies-nous le contenu de ton LogCat..
    Merci beaucoup, tu as raison, il me manquait la ligne de permission.

    Merci

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

Discussions similaires

  1. Communication application Android et MySQL
    Par thioky dans le forum Android
    Réponses: 6
    Dernier message: 17/03/2015, 04h38
  2. Application Android + BDD MySQL
    Par Sssss1 dans le forum Android
    Réponses: 2
    Dernier message: 02/02/2014, 08h43
  3. Erreur démarrage application Android
    Par karamovic dans le forum Android
    Réponses: 7
    Dernier message: 24/05/2012, 00h32
  4. Envoyer des données depuis mon application android vers mysql
    Par bennour.mohamed dans le forum Android
    Réponses: 9
    Dernier message: 18/07/2011, 14h42

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