Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] Soucis connexion avec BDD

Connexion avec une Base de données

Sujet résolu
    13 mars 2013 à 15:36:00

    Bonjour à tous !

    Après environ une semaine de recherche acharnée, qui c'est avéré totalement infructueuse, je lance mon SOS.

    Je suis entrain, pour mon stage, de créer une application mobile, qui se connecte à une base de données (avec EasyPhp 5.4.6) pour renvoyer les résultats.

    J'ai suivi beaucoup de tutoriels, sans succès...

    Donc, j'ai créé mon code php que voilà :

    <?php
    // on se connecte à notre base pour recuperer les data
    mysql_connect ('localhost', 'root', ''); 
    mysql_select_db ('test') ; 
    $req =mysql_query("SELECT * from produit where NumP = '".$_REQUEST['prod']."'");
    while ($row=mysql_fetch_assoc($req))  
        $output[]=$row; 
    	
    print(json_encode($output));  
    
    mysql_close();
    
    ?>

    Puis, sur android (j'utilise NetBeans 7.3), j'ai créé ce code (j'utilise mon adresse ip locale, comme demandé) :

    package com.test.connexion.bdd;
    
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
    import org.apache.http.HttpEntity;
    import org.apache.http.HttpResponse;
    import org.apache.http.NameValuePair;
    import org.apache.http.client.HttpClient;
    import org.apache.http.client.entity.UrlEncodedFormEntity;
    import org.apache.http.client.methods.HttpPost;
    import org.apache.http.impl.client.DefaultHttpClient;
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
    import android.app.Activity;
    //import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    //import android.widget.ArrayAdapter;
    import android.widget.Toast;
    import org.apache.http.message.BasicNameValuePair;
    
    public class MainActivity extends Activity {
        
        //Variables globales
        InputStream is;
        /** Called when the activity is first created. */
      
    	@Override
    	public void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.main);
    
    		    String result = "";
                        
        //Le num&ro du produit à envoyer
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("prod","1"));
         
        //http post
        try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://192.168.32.97:80/www/test.php");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
                Log.e("log_tag", "connexion réussie");
                Toast.makeText(getApplicationContext(), "Connexion réussie", Toast.LENGTH_SHORT).show();
                
        }catch(Exception e){
                Log.e("log_tag", "Error in http connection "+e.toString());
                Toast.makeText(getApplicationContext(), "Fail connexion", Toast.LENGTH_SHORT).show();
        }
        //convert response to string
        try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                        Toast.makeText(getApplicationContext(), "pass convert", Toast.LENGTH_SHORT).show();
                }
                is.close();
         
                result=sb.toString();
        }catch(Exception e){
                Log.e("log_tag", "Error converting result "+e.toString());
                Toast.makeText(getApplicationContext(), "fail convert", Toast.LENGTH_SHORT).show();
        }
         
        //parse json data
        try{
                JSONArray jArray = new JSONArray(result);
                for(int i=0; i < jArray.length(); i++){
                        JSONObject json_data = jArray.getJSONObject(i);
                        Log.i("log_tag","NumP :"+json_data.getInt("NumP")+
                              ", NomP : "+json_data.getString("NomP")+
                                ", RamP : "+json_data.getString("RamP")+
                                ", ProcoP : "+json_data.getString("ProcoP")+
                                ", PrixP : "+json_data.getInt("PrixP")
                        );
                        Toast.makeText(getApplicationContext(), "pass parsing JSON", Toast.LENGTH_SHORT).show();
                }
        
        }catch(JSONException e){
                Log.e("log_tag", "Error parsing data "+e.toString());
                Log.e("log_tag", "Failed data was :\n" + result);
                Toast.makeText(getApplicationContext(), "fail parsing", Toast.LENGTH_SHORT).show();
        }
            }
    }
            
    

    J'ai rajouté le <uses-permission android:name = "android.permission.INTERNET" /> dans le Androidmanifest.

    Donc, quand je le lance, il se connecte à la BDD (selon les dires des "Toast"), mais tourne en boucle sur le "Pass convert".

    Dans le logCat, j'ai cette erreur :

    14:30:30.834	1426	com.test.connexion.bdd	ERROR	log_tag	connexion réussie
    14:30:31.154	420	com.android.launcher	INFO	Choreographer	Skipped 45 frames!  The application may be doing too much work on its main thread.
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	Error parsing data org.json.JSONException: Value <?xml of type java.lang.String cannot be converted to JSONArray
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	Failed data was :
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<?xml version="1.0" encoding="UTF-8"?>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<head>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<title>Object not found!</title>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<link rev="made" href="mailto:admin@127.0.0.1" />
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<style type="text/css"><!--/*--><![CDATA[/*><!--*/ 
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    body { color: #000000; background-color: #FFFFFF; }
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    a:link { color: #0000CC; }
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    p, address {margin-left: 3em;}
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    span {font-size: smaller;}
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	/*]]>*/--></style>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	</head>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<body>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<h1>Object not found!</h1>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<p>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    The requested URL was not found on this server.
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	  
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    If you entered the URL manually please check your
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	    spelling and try again.
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	</p>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	If you think this is a server error, please contact
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	the <a href="mailto:admin@127.0.0.1">webmaster</a>.
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<h2>Error 404</h2>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	<address>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	  <a href="/">192.168.32.97</a><br />
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	  <span>Apache/2.4.2 (Win32) PHP/5.4.6</span>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	</address>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	</body>
    14:30:31.564	1426	com.test.connexion.bdd	ERROR	log_tag	</html>

    C'est un soucis de conversion avec du xml ? Dans tous les cas, je bloque ici, et ne sais pas quoi faire...

    Si un de vous arriverait à m'aider, je lui en serais infiniment reconnaissant !

    Merci de m'avoir lu.

    • Partager sur Facebook
    • Partager sur Twitter
      13 mars 2013 à 17:16:00

      Bonjour,

      Pourquoi t'embête tu as parser une page HTML ?

      Ne serait-il pas plus simple de retourner le résultat de ta requête en JSON (et rien d'autre) ?

      • Partager sur Facebook
      • Partager sur Twitter
        13 mars 2013 à 17:49:15

        Merci de ta réponse mikael,

            Malheureusement, je ne sais pas ce qu'il faut modifier (je n'ose plus surtout... :) ), donc, si tu pouvais me montrer le chemin de la vérité éternelle en me disant ce que je dois changer, j'érigerais une statue en ta gloire dans ma chambre, et je brûlerais une bougie devant tous les soirs !

        -
        Edité par RedWolf 13 mars 2013 à 17:49:35

        • Partager sur Facebook
        • Partager sur Twitter
          13 mars 2013 à 18:31:24

          Dans ton PHP :
          print(json_encode(array("NomTableau" => $output))); 
          Alors comme nous traitons du JSON remplace ton InputStream is; par String is;
          et is = entity.getContent(); Par is = EntityUtils.toString(entity, HTTP.UTF_8); //En tout cas je fais comme cela
          Pour moi la partie //convert response to string ne sert à rien.
          Ensuite dans //ton parse json data
          if(!is.equals("null")) {
          	JSONArray jArray = new JSONObject(is).optJSONArray("NomTableau");
          	if(jArray != null) {
          		for(int i=0; i < jArray.length(); i++) {
          			JSONObject json_data = jArray.getJSONObject(i);
          			Log.i("log_tag","NumP :"+json_data.getInt("NumP")+
                                    ", NomP : "+json_data.getString("NomP")+
                                      ", RamP : "+json_data.getString("RamP")+
                                      ", ProcoP : "+json_data.getString("ProcoP")+
                                      ", PrixP : "+json_data.getInt("PrixP")
                              );
          		}
          	}
          }
          Assure toi que ta page test.php retourne bien uniquement du JSON et rien d'autre.
          Normalement cela devrait être juste.
          • Partager sur Facebook
          • Partager sur Twitter
            14 mars 2013 à 9:34:13

            Merci de ton aide, malheureusement, cela ne fonctionne toujours pas...

            08:26:35.185	1093	com.test.connexion.bdd	ERROR	log_tag	Error parsing data org.json.JSONException: Value <?xml of type java.lang.String cannot be converted to JSONObject


            Cette fois, il ne me dit pas où se situe l'erreur (le "failed data was :" est vide)

            Et mon test.php est le code PHP que j'ai donné en 1er post.

            (Bah dis donc, première fois que je touche la programmation Android, pas facile hein :) )

            • Partager sur Facebook
            • Partager sur Twitter
              14 mars 2013 à 10:00:34

              Pourrais tu me montrer la table produit (sans les données, juste sont schéma), que je fasse un test de mon côté ?
              • Partager sur Facebook
              • Partager sur Twitter
                14 mars 2013 à 10:18:00

                C'est une table test, les données sont pas importantes (j'ai mis des données fictives)

                Mais la table est comme ça (NumP = Clef primaire)

                NumP int(10) (Clef primaire)

                NomP varchar(50)

                RamP varchar(50)

                ProcoP varchar(50)

                PrixP int(10)

                 

                -
                Edité par RedWolf 14 mars 2013 à 10:22:59

                • Partager sur Facebook
                • Partager sur Twitter
                  14 mars 2013 à 11:24:24

                  De mon côté cela fonctionne parfaitement, tu test sur quelle version d'Android ?

                  Parce que je viens de capter une chose, mais ce traitement tu le fais dans ton OnCreate et il ne faut surtout pas le faire ici.

                  Tout ce qui peut être bloquant pour une application il faut le faire dans un Thread.

                  Voila ce que j'ai fais :

                      @Override
                      public void onCreate(Bundle savedInstanceState) {
                          super.onCreate(savedInstanceState);
                          setContentView(R.layout.main);
                          test t = new test();
                          t.execute();
                         
                      }
                      
                      private class test extends AsyncTask<String, Void, Void> {
                      	String is;
                      	
                  		@Override
                  		protected void onPostExecute(Void result) {
                  	        
                  	        if(!is.equals("null")) {
                  	        	try {
                  	            JSONArray jArray = new JSONObject(is).optJSONArray("NomTableau");
                  	            if(jArray != null) {
                  	                for(int i=0; i < jArray.length(); i++) {
                  	                    JSONObject json_data = jArray.getJSONObject(i);
                  	                    Log.i("log_tag","NumP :"+json_data.getInt("NumP")+
                  	                                  ", NomP : "+json_data.getString("NomP")+
                  	                                    ", RamP : "+json_data.getString("RamP")+
                  	                                    ", ProcoP : "+json_data.getString("ProcoP")+
                  	                                    ", PrixP : "+json_data.getInt("PrixP")
                  	                            );
                  	                }
                  	                Toast.makeText(getApplicationContext(), "pass parsing JSON", Toast.LENGTH_SHORT).show();
                  	            }
                  	        }catch(JSONException e){
                  	                Log.e("log_tag", "Error parsing data "+e.toString());
                  	                Log.e("log_tag", "Failed data was :\n" + is);
                  	                Toast.makeText(getApplicationContext(), "fail parsing", Toast.LENGTH_SHORT).show();
                  	        }
                  	        }
                  			super.onPostExecute(result);
                  		}
                  
                  
                  
                  		@Override
                  		protected Void doInBackground(String... arg0) {
                  			 ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
                  		        nameValuePairs.add(new BasicNameValuePair("prod", "1"));
                  		        
                  		      //http post
                  		        try{
                  		                HttpClient httpclient = new DefaultHttpClient();
                  		                HttpPost httppost = new HttpPost("http://192.168.32.97:80/www/test.php");
                  		                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                  		                HttpResponse response = httpclient.execute(httppost);
                  		                HttpEntity entity = response.getEntity();
                  		                is = EntityUtils.toString(entity, HTTP.UTF_8);
                  		                Log.e("log_tag", "connexion réussie");
                  		                 
                  		        }catch(Exception e){
                  		                Log.e("log_tag", "Error in http connection "+e.toString());
                  		        }
                  
                  			return null;
                  		}
                      }


                  Par contre il y a encore du boulot niveau gestion d'erreur.

                  Test avec ce code et dis moi quelle version d'Android tu as.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    14 mars 2013 à 12:07:37

                    Même erreur que mon premier post avec le code que tu m'a donné. :/

                    Ma version d'android est la 4.2.2.

                    C'est vraiment étrange que ça fonctionne chez toi, mais pas chez moi.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      14 mars 2013 à 14:29:43

                      Bon sa m'apprendra à pas regarder les logs jusqu'au bout.

                      <h2>Error 404</h2>
                      14:30:31.564    1426    com.test.connexion.bdd  ERROR   log_tag <address>
                      14:30:31.564    1426    com.test.connexion.bdd  ERROR   log_tag   <a href="/">192.168.32.97</a><br />
                      14:30:31.564    1426    com.test.connexion.bdd  ERROR   log_tag   <span>Apache/2.4.2 (Win32) PHP/5.4.6</span>
                      14:30:31.564    1426    com.test.connexion.bdd  ERROR   log_tag </address>
                      14:30:31.564    1426    com.test.connexion.bdd  ERROR   log_tag </body>

                      Tu as une erreur 404 = ton adresse est pas la bonne "http://192.168.32.97:80/www/test.php"
                      Du coup android reçoit la page html que tu affiche quand tu as une erreur 404.

                      • Partager sur Facebook
                      • Partager sur Twitter
                        14 mars 2013 à 15:44:21

                        Pourtant c'est bien l'adresse ip locale qui est demandée...

                        J'ai aussi essayé avec l'adresse 10.0.2.2, j'ai la même erreur.

                        Je suis perdu là...

                        Edit : Changement !! J'ai retiré le "www" dans l'adresse, et maintenant j'ai cette erreur :

                        14:45:28.217	1281	com.test.connexion.bdd	ERROR	log_tag	Error parsing data org.json.JSONException: Value [{"NomP":"Samsung EP300E7A","ProcoP":"Intel Core i3 2310M","NumP":"1","PrixP":"549","RamP":"4 GB DDR3"}] of type org.json.JSONArray cannot be converted to JSONObject

                        Il y a du progrès, ça veut dire qu'il a récupéré les données !

                        -
                        Edité par RedWolf 14 mars 2013 à 15:47:19

                        • Partager sur Facebook
                        • Partager sur Twitter
                          14 mars 2013 à 15:49:25

                          Tu as bien remplacé dans ton PHP ? :
                           print(json_encode(array("NomTableau"=> $output)));

                          -
                          Edité par mikael84 14 mars 2013 à 15:50:07

                          • Partager sur Facebook
                          • Partager sur Twitter
                            14 mars 2013 à 16:25:17

                            Oui oui

                            <?php
                            // on se connecte à notre base pour recuperer les data
                            mysql_connect ('localhost', 'root', ''); 
                            mysql_select_db ('test') ; 
                            $req =mysql_query("SELECT * from produit where NumP = '".$_REQUEST['prod']."'");
                            while ($row=mysql_fetch_assoc($req))  
                                $output[]=$row; 
                            	
                            print(json_encode(array("NomTableau" => $output)));  
                            
                            mysql_close();
                            
                            ?>



                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 mars 2013 à 16:28:25

                              Bon alors, va voir à la main ce que ta page affiche :

                              <?php
                              // on se connecte à notre base pour recuperer les data
                              mysql_connect ('localhost', 'root', '');
                              mysql_select_db ('test') ;
                              $req =mysql_query("SELECT * from produit where NumP = '1'");
                              while ($row=mysql_fetch_assoc($req)) 
                                  $output[]=$row;
                                   
                              print(json_encode(array("NomTableau" => $output))); 
                               
                              mysql_close();
                               
                              ?>



                              -
                              Edité par mikael84 14 mars 2013 à 16:28:46

                              • Partager sur Facebook
                              • Partager sur Twitter
                                14 mars 2013 à 16:38:22

                                La main ? Tu veux dire via le navigateur ?

                                J'ai ceci :

                                {"NomTableau":[{"NumP":"1","NomP":"Samsung EP300E7A","RamP":"4 GB DDR3","ProcoP":"Intel Core i3 2310M","PrixP":"549"}]}



                                • Partager sur Facebook
                                • Partager sur Twitter
                                  14 mars 2013 à 16:46:38

                                  Ok, le problème ne venant pas du server il faut re-regarder au niveau android.

                                  Tu a rien changé au code que je t'avais passé ? 

                                  Tu as toujours : 

                                  JSONArray jArray = new JSONObject(is).optJSONArray("NomTableau");

                                  ?

                                  Si oui essaye plutot : 

                                  JSONArray jArray = new JSONObject(is).getJSONArray("NomTableau");



                                  -
                                  Edité par mikael84 14 mars 2013 à 16:49:31

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    14 mars 2013 à 17:38:25



                                    Comme tu peux le voir sur l'image, il y a eu du changement !

                                    Mais rien ne s'affiche sur le telephone, sauf "HelloWorld,MainActivity", c'est que je n'ai pas encore mis la ligne pour l'afficher sur le téléphone, je vais modifier ça et te tenir au courant !

                                    On a très bien progressé ! Merci !

                                    Edit : Bon, je n'arrive pas à l'afficher... Je suis nul ! ><

                                    -
                                    Edité par RedWolf 14 mars 2013 à 18:18:15

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      14 mars 2013 à 20:39:47

                                      Tu n'arrive pas à afficher quoi ? Le Toast ? Les données ? De quels manières compte tu les affichaient ? ListView ?

                                      Qui-a-t-il dans ton main.xml ?

                                      Qu'as-tu de plus dans ton OnCreate que tout à l'heure ?

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        15 mars 2013 à 9:04:49

                                        Les données, j'aimerais les afficher ligne par ligne.

                                        Je pensais le faire avec un TextView.

                                        Mon main.xml est par défaut, je n'y ai pas encore touché.

                                        Je n'ai rien changé dans le OnCreate, enfaite l'erreur venait du lien pour accéder au php.

                                        HttpPost httppost = new HttpPost("http://192.168.32.97:80/www/test.php");

                                        Il fallait tout simplement enlever le www :

                                        HttpPost httppost = new HttpPost("http://192.168.32.97:80/test.php");




                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          15 mars 2013 à 11:08:17

                                          Ligne par Ligne = ListView. (En sachant que dans une ListView on peut y mettre n'importe quoi).

                                          Je te conseil de voir : http://www.siteduzero.com/forum/sujet/tableau-avec-ajout-de-ligne-et-de-quantite?page=1

                                          J'ai déjà bien décortiqué la question.

                                          Dans ton cas, si tu ne fait que de l'affichage et en plus avec seulement un TextView, il n'y a pas besoin de faire d'adapter personnalisé.

                                          Ma première réponse devrait te suffire.

                                          -
                                          Edité par mikael84 15 mars 2013 à 11:08:56

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            15 mars 2013 à 14:31:03

                                            Merci de ta réponse, le lien est vraiment très complet !

                                            Par contre, il faut que je créé une listview sur le main.xml. Est-ce que je dois aussi le créer ? Car je souhaite que ça s'affiche lorsque j'appuie sur un bouton (qui est déjà fait.)

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              15 mars 2013 à 15:33:42

                                              Il y a plusieurs façon de faire, mais je t'en donnerai 2 :

                                              - Soit quand tu lance ton application (main.xml) tu as ton bouton et et une listView (vide) que tu rempli qu'après avoir cliqué sur ton bouton.

                                              Donc evenement OnClickListener sur le bouton qui fait appel à l'AsyncTask (qui va chercher les données, remplir l'Adapter et le lié à la listView).

                                              - Soit tu créer une seconde activité qui affiche une listView, et quand tu clic sur ton bouton tu affiche la seconde activité. (Pour cela dans ton evenement OnClickListener tu as ce qu'on appel une "intention de", donc un Intent.

                                              Du genre Intent afficherList = new Intent(this (ou MonActivité.this), ActivitéAAfficher.class);

                                              afficherList.putExtrat() //si tu souhaite envoyer des paramètres

                                              startActivity(afficherList);

                                              Edit : Je préciserai que une erreur à éviter (car elle risque d'arriver régulièrement) lorsque l'on créer une activité, c'est de penser à la déclarer dans ton manifest. Autrement cela ne marchera jamais.

                                              Autre chose, ne laisse pas l'utilisateur dans l'inconnu, il faut qu'il sache ce qu'il se passe.
                                              Quand tu fait un AsyncTask, l'utilisateur ne sait que des données sont chargées qu'une fois qu'il les voit apparaître.
                                              Donc pense à faire une barre de progression, tu as de la chance, l'AsyncTask en possède une. (ProgressDialog) 

                                              -
                                              Edité par mikael84 15 mars 2013 à 15:41:18

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                15 mars 2013 à 16:26:01

                                                Hola hola !

                                                Déjà, un grand merci pour ton aide !

                                                Puis, je débute uniquement dans le développement Android, donc là ce que tu me propose est certes une très bonne proposition, mais je ne sais pas le faire, donc je vais m'aider sur les tutoriels pour ça, merci !

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  15 mars 2013 à 16:59:17

                                                  Pense à mettre ton sujet comme résolu
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  [Android] Soucis connexion avec BDD

                                                  × 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