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

API standards et tierces Android Discussion :

Searchview filre une listview affiche données d'un serveur


Sujet :

API standards et tierces Android

  1. #1
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut Searchview filre une listview affiche données d'un serveur
    Bonjour
    j'ai réalisé un code qui affiche des données qui se trouve dans un serveur , mon but maintenant de faire un filtre avec un searchview , je veux a chaque fois que je saisi une lettre j'aurai comme résultat tous les noms qui la contient vu que j'utilise un web service,pour cela j'ai réalisé le code PHP et j l'ai testé et s marche bien
    Voici le code php
    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
     
     <?php
     
      $dbName = 'localhost:D:/TEST.FDB';
      $dbUser = 'SYSDBA';
      $dbPswd = 'masterkey';
    // ouvrir la cox a une bdd 
       @($db = ibase_connect($dbName, $dbUser, $dbPswd)) or $db = nul;
    if($db == null) {
    	//msg d erreur 
      echo ibase_errmsg();
    } else {
    	 //retourne le nombre d'enregistrements
     
      $sql = ibase_query($db, " select NAME FROM PRODUCTS WHERE NAME LIKE '%F%' ");
     
     
      //  lit une ligne dans une base
      while($row = ibase_fetch_object($sql))
    	  //
     $output[]=$row;
      //Retourner la représentation JSON d''une valeur
      ibase_free_result ($sql) ;
      print(json_encode($output));
      //Fermer une connexion à une base de données
      ibase_close($db);
      }?>

    en résultat j'ai tous les nom qui contient la lettre F .

    Quelqu'un saurait-il m'aider a trouver une solution comment le réaliser ou m'orienter vers un bon tutoriel

    Merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Bonjour,

    Peux afficher le code qui te permet de remplir la listview depuis le web service?

    Christian Djo
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    Voici le code qui rempli la listview de webservice


    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    import android.app.ListActivity;
    import android.content.Intent;
    import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.Toast;
     
    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 java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
     
    /**
     * Created by ${kahina} on 22/03/2016.
     */
    public class Afficher_listCL extends ListActivity {
        Button btnlist,btnref;
        public void onCreate (Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.listclient);
     
            btnlist = (Button) findViewById(R.id.btnRT1);
            btnlist.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Afficher_listCL.this, AccueilClients.class);
                    startActivity(intent);
                }
            });
     
            btnref = (Button) findViewById(R.id.btnref);
            btnref.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Afficher_listCL.this, Afficher_listCL.class);
                    startActivity(intent);
                }
            });
            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://192.168.1.16/listCLIENT.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("NAME"));
                    //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());
            }
     
     
        }
        }

  4. #4
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    bonjour quelqu'un peut me répondre s'il vous plait

  5. #5
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    bonjour
    si j'utilise un
    AutocompleteTextView
    s aira pour se que je veux comme résultat ?

  6. #6
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Bonjour,

    Tu peux utiliser ce TUTO pour apprendre à configurer ton SearchView. Si tu as de problème n'hésite pas

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  7. #7
    Membre Expert
    Avatar de MathiasSeguy
    Homme Profil pro
    Fondateur Android2EE - Formation Expertise Android
    Inscrit en
    Avril 2011
    Messages
    185
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Fondateur Android2EE - Formation Expertise Android
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 185
    Billets dans le blog
    6
    Par défaut
    Tu sais qu'il faut faire les requêtes, le parsing et tout le bordel dans un Thread qui ne soit pas le MainThread, hein ?
    Ce serait super. http://mathias-seguy.developpez.com/...ites-memoires/
    Ca sauverait un bisounours.
    Ensuite, je comprends rien à ton problème, ton code initial est coté serveur ? fais des requêtes (asynchrones) en fonction des lettres que tapes ton utilisateur.
    Tu pourrais nous ré-expliquer ton problème ?
    A part si le tuto que t'as donné MasterMbg t'as sauvé.


    Citation Envoyé par jasmine jas Voir le message
    Voici le code qui rempli la listview de webservice


    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
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
     
     
    import android.app.ListActivity;
    import android.content.Intent;
    import android.net.ParseException;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.Button;
    import android.widget.Toast;
     
    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 java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.util.ArrayList;
     
    /**
     * Created by ${kahina} on 22/03/2016.
     */
    public class Afficher_listCL extends ListActivity {
        Button btnlist,btnref;
        public void onCreate (Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.listclient);
     
            btnlist = (Button) findViewById(R.id.btnRT1);
            btnlist.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Afficher_listCL.this, AccueilClients.class);
                    startActivity(intent);
                }
            });
     
            btnref = (Button) findViewById(R.id.btnref);
            btnref.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    Intent intent = new Intent(Afficher_listCL.this, Afficher_listCL.class);
                    startActivity(intent);
                }
            });
            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://192.168.1.16/listCLIENT.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("NAME"));
                    //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());
            }
     
     
        }
        }

  8. #8
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    je comprends rien à ton problème, ton code initial est coté serveur
    le code java est coté client

    Tu pourrais nous ré-expliquer ton problème ?
    alors mon probleme est que j'affiche les nom des client dans une listview ,mais je veux ajouter searchview pour que je puisse lancer une recherche sur le client avec des lettre ( interroger la base de données a partir de client android ) autrement dis je suis bloquer avec le filtre que j'arrive pas a réaliser dans le coté client (java) vu que le coté php est fait et tester et s marche bien ( je l'ai met dans le premier message ) , j'espére etre plus claire ........................ mercii d'avance

  9. #9
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par jasmine jas Voir le message
    mon probleme est que j'affiche les nom des client dans une listview ,mais je veux ajouter searchview pour que je puisse lancer une recherche sur le client avec des lettre ( interroger la base de données a partir de client android )
    Tu affiches déjà toutes les données dans ta listView. Donc la recherche devrait se passer côté listView et non pas côté client à mon humble avis.

    As tu lis le tuto que je t'avais envoyé?

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  10. #10
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    As tu lis le tuto que je t'avais envoyé?
    oui c fais , et s m'aide a comprendre le principe de searchview et comment le créer

    Citation Envoyé par MasterMbg Voir le message
    Tu affiches déjà toutes les données dans ta listView. Donc la recherche devrait se passer côté listView et non pas côté client à mon humble avis.
    oui c'est s justement ,as tu une idée a se propos ?

  11. #11
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Citation Envoyé par jasmine jas Voir le message
    oui c fais , et s m'aide a comprendre le principe de searchview et comment le créer
    As tu appliqué ce qui est expliqué dans le tuto à ton problème?

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  12. #12
    Membre confirmé
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2015
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 34
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2015
    Messages : 56
    Par défaut
    pas encore

Discussions similaires

  1. Réponses: 13
    Dernier message: 01/12/2012, 22h20
  2. Acceder à une base de données dans un serveur à distant
    Par abbd dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2008, 01h06
  3. Acceder à une base de données dans un serveur à distant
    Par abbd dans le forum Administration
    Réponses: 3
    Dernier message: 15/07/2008, 16h23
  4. mise d'une base de données sur un serveur
    Par Jasmine80 dans le forum Installation
    Réponses: 2
    Dernier message: 28/11/2007, 09h39

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