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 :

Insérer AsyncHttpClient dans une liste


Sujet :

Android

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 226
    Points : 72
    Points
    72
    Par défaut Insérer AsyncHttpClient dans une liste
    bonjour ,

    j'ai le code suivant qui me permet de récuprer les données de ma base de donnée via un service je recupére parfaitement mais mon souci est pour les recupérer dans des variable pour les metre dans une liste je sais vraiment pas comment m'y prendre

    merci d'avance
    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 void onCreate(Bundle savedInstanceState) {
    		        super.onCreate(savedInstanceState);
    		        setContentView(R.layout.article);
    		        lvListe= (ListView)findViewById(R.id.lvListe);
     
    		      String[] listeStrings = {"France","Allemagne","Russie"};
    		      lvListe.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,listeStrings));
     
    		      AsyncHttpClient client = new AsyncHttpClient();
    			    client.get("http://192.168.1.7:8080/CoShom/ListArticleAndroid", new AsyncHttpResponseHandler() {
    			        @Override
    			        public void onSuccess(String response) {
    			        	String[] data = response.split("\n") ;
     
    			        	for(int i =3 ; i < data.length ; i+=2 ){
    			        		produit.add(data[i]);
    			        	}
     
    			        }
     
    			    });
     
     
     
    		   }

  2. #2
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2009
    Messages
    91
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Novembre 2009
    Messages : 91
    Points : 133
    Points
    133
    Par défaut
    De premier abord, je te dirais d'utiliser runOnUiThread, je pense pas que tu puisses mettre tes produits directement dans ta liste depuis le onSuccess de l'AsyncHttpClient.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    runOnUiThread(new Runnable() {
     
                            @Override
                            public void run() {
                               //Mise à jour de ta liste
                            }
                        });
    D'autre part, il faut que tu gardes ton adapter quelque part, ou que tu en recrées un avec ta nouvelle liste de produits à sa réception.

    En récapitulant :

    1. Recupération de tes données
    2. Re-création d'un Adapter pour tes données
    3. Mis à jour te ta liste (si tu as gardé le même Adapter, utilise mAdapter.notifyDataSetChanged(); dans le runOnUiThread

    J'peux me gourer violemment, je sais que j'ai fait quelque chose de similaire y'a pas longtemps, mais j'ai pas le code sous les yeux et j'avais un peu tatonné...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    226
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2009
    Messages : 226
    Points : 72
    Points
    72
    Par défaut
    Comment je peux faire pour récupérer mes données si on peux pas le faire dans le onSuccess exuse moi mais je comprend pas comment m'y prendre :s

    j'ai essayer avec les tread mais j'arrive pas a récuperer les valeurs :

    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
    		Thread thread =	new Thread(new Runnable() {
    	   public void run() {
     
    				 	String url = "http://192.168.1.7:8080/CoShom/ListArticleAndroid";
    					ArrayList <String> article = new   ArrayList<String>();
     
    					InputStream stream = getInputStreamFromUrl(url);
    					BufferedReader reader = new BufferedReader(
    			                new InputStreamReader(stream));
    					   String line;
    			           try {
    						while ((line = reader.readLine()) != null) {
    						          article.add(line);    
    						   }
    						String[]  tabArticle = article.toArray(new String[article.size()]);
     
    					} catch (IOException e) {
    						// TODO Auto-generated catch block
    						e.printStackTrace();
    					}
    	      }
     
     
    		 }
     
    );
    		thread.start();

Discussions similaires

  1. Insérer (partiellement) une collection dans une "List<T>"
    Par Benoit_T dans le forum Delphi .NET
    Réponses: 5
    Dernier message: 17/03/2009, 20h21
  2. [MySQL] Récupérer et insérer dans une liste déroulante
    Par etudianti4 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 07/10/2008, 21h04
  3. [J2SE 5.0] Insérer plusieurs type dans une liste. Et les récupérer!
    Par HebusBreizh dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 26/09/2007, 15h32
  4. Insérer des images dans une liste de choix ?
    Par Strix dans le forum Balisage (X)HTML et validation W3C
    Réponses: 13
    Dernier message: 04/05/2007, 12h48
  5. Insérer des check buttons dans une list box
    Par cecile900 dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 09/01/2007, 12h10

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