Partage
  • Partager sur Facebook
  • Partager sur Twitter

Android Studio Web Services MySQL

Recherche tutoriel

Sujet résolu
    17 février 2016 à 15:35:13

    Bonjour, je me permets de poster un message car j'ai développé un site web avec php mysql... Mais maintenant je voudrais faire une application android en me connectant à la bdd mysql mais je ne trouve pas un bon tutoriel en français (je suis très mauvais en anglais :D ) Pouvez vous m'aider Merci.
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      18 février 2016 à 15:23:17

      Alex112524 a écrit:

      Voici un petit tuto bien sympa, et en plus d'être sympathique, il est en Français ;)

      http://codes-sources.commentcamarche.net/faq/10789-connecter-une-application-android-a-une-base-de-donnees


      Merci mais la premiere partie ne fonctionnes pas les classe hhtp donnée et la classe NameValuePair ne marche plus depuis android 6.0 :(
      • Partager sur Facebook
      • Partager sur Twitter
        18 février 2016 à 19:31:42

        Salut ;). Tu peux utiliser des librairies comme Volley ou Retrofit par exemple qui simplifie beaucoup le travail. T'as un tuto ici par exemple qui utilise Volley : https://www.youtube.com/playlist?list=PLEubh3Rmu4tlwpRzO3BjKti2EzOCfK7nj
        • Partager sur Facebook
        • Partager sur Twitter
          18 février 2016 à 23:24:21

          christianmontois2 a écrit:

          Merci mais la premiere partie ne fonctionnes pas les classe hhtp donnée et la classe NameValuePair ne marche plus depuis android 6.0 :(

          Comme le signale les autres avant moi, il convient maintenant d'utiliser UrlConnectionou des bibliothèques tierces comme Volley, Retrofit ou encore OkHttp.

          Sache tout de même, qu'il est encore possible d'utiliser les classes HttpClient dans Android 6.0 en ajoutant la ligne suivante dans ton fichier build.gradle :

          android {
              useLibrary 'org.apache.http.legacy'
          }
          

          Source.

          • Partager sur Facebook
          • Partager sur Twitter
            22 février 2016 à 11:17:23

            rolandl a écrit:

            christianmontois2 a écrit:

            Merci mais la premiere partie ne fonctionnes pas les classe hhtp donnée et la classe NameValuePair ne marche plus depuis android 6.0 :(

            Comme le signale les autres avant moi, il convient maintenant d'utiliser UrlConnectionou des bibliothèques tierces comme Volley, Retrofit ou encore OkHttp.

            Sache tout de même, qu'il est encore possible d'utiliser les classes HttpClient dans Android 6.0 en ajoutant la ligne suivante dans ton fichier build.gradle :

            android { useLibrary 'org.apache.http.legacy' } 

            Source.

            Merci j'ai essayer d'adapter à mon code mais j'obtiens l'erreur suivante :

            erreurValue <!DOCTYPE of type java.lang.String cannot be converted to JSONArray

            Voici mon code:

             class TestIMC extends AsyncTask<String,String,String> {
            
                @Override
                protected void onPreExecute() {
            
                    super.onPreExecute();
                    Log.d("debogage", "Début du traitement asynchrone");
            
                }
            
                @Override
                protected String doInBackground(String... params) {
                    String result;
            
                    result="http://10.0.2.2/android_connect/index.php?poids=";
            
                    Log.d("debogage", "Connexion ok ");
                    return appelWS(result);
            
                }
            
                @Override
                protected void onPostExecute(String result) {
                    Log.d("debogage", "Le traitement asynchrone est terminé");
            
                }
            
                protected boolean pairouimpair(int nb) {
                    boolean trouve = true;
            
                    if (nb % 2 == 0) {
            
                        trouve = true;
                    } else {
                        trouve = false;
                    }
                    return trouve;
                }
            
                protected int nbcaractere(String chaine) {
                    int nbcarac = chaine.length();
            
                    return nbcarac;
                }
            
                private String appelWS(String uneURL) {
                    String result = "";
                    String valeurRecuperee = null;
                    try {
                        InputStream in;
                        URL url = new URL(uneURL);
                        URLConnection connection = url.openConnection();
                        HttpURLConnection httpConnection = (HttpURLConnection) connection;
            
                        // Connexion à l'url
                        httpConnection.connect();
                        int responseCode = httpConnection.getResponseCode();
                        if (responseCode == HttpURLConnection.HTTP_OK) {
                            in = httpConnection.getInputStream();
                            result = convertStreamToString(in);
                            JSONArray jArray = new JSONArray(result);
                            for(int i=0;i<jArray.length();i++){
                                JSONObject json_data = jArray.getJSONObject(i);
                                Log.i("log_tag", "id: " + json_data.getInt("id") +
                                                ", name: " + json_data.getString("name") +
                                                ", sex: " + json_data.getInt("sex") +
                                                ", birthyear: " + json_data.getInt("birthyear")
                                );
                            }
                            Log.d("debogage", valeurRecuperee);
                        }
            
            
                    } catch (Exception e) {
                        Log.d("debogage", "erreur" + e.getMessage());
                    }
                    return valeurRecuperee;
                }
            
            
                private String convertStreamToString(InputStream is) {
                    BufferedReader reader = new BufferedReader(new InputStreamReader(is));
                    StringBuilder sb = new StringBuilder();
                    try {
                        String ligne = reader.readLine();
                        while (ligne != null) {
                            //Log.d("debogage", ligne);
                            sb.append(ligne + "\n");
                            ligne = reader.readLine();
                        }
                        reader.close();
                    } catch (IOException e) {
                    } finally {
                        try {
                            is.close();
                        } catch (IOException e) {
                            Log.d("debogage", "catch");
                        }
                    }
            
                    return sb.toString();
                }
            }


            HELP PLEASE, Merci



            -
            Edité par christianmontois2 22 février 2016 à 11:18:18

            • Partager sur Facebook
            • Partager sur Twitter
              22 février 2016 à 15:00:22

              A la lecture du message d'erreur, j'ai l'impression que ton URL ne renvoie pas du JSON pur, mais du HTML...

              • Partager sur Facebook
              • Partager sur Twitter
                22 février 2016 à 15:22:08

                rolandl a écrit:

                A la lecture du message d'erreur, j'ai l'impression que ton URL ne renvoie pas du JSON pur, mais du HTML...


                Merci mais j'ai trouvée en fait mon fichier renvoyer bien des données json mais il y avait les balises html de base qui le faisait planté
                • Partager sur Facebook
                • Partager sur Twitter
                  22 février 2016 à 16:19:37

                  N'oublie pas d'indiquer ton sujet comme résolu si c'est bien le cas ;)

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Android Studio Web Services MySQL

                  × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                  × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                  • Editeur
                  • Markdown