Chargé plusieurs table avec Retrofit
micropro7
-
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 15952 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour et joyeux noël à tous!
J'ai un formulaire qui permet d'enregistrer les produits qu'on a vendu a un client
On choisi un produit, un client et on valide
J'ai donc 2 spinner (spinner_produit et spinner_client) que je dois remplir avec chacun sa source de données provenant d'une table.
Je veux récupérer d'un seul coup les deux données en json et les afficher dans mon formulaire.
Détail:
coté serveur php
tables : produits et clients
et voici un json retourné
serveur_data.json
coté android:
les models
Coté Retrofit
dans MainActivity.java
Merci de me donner un coup de main
J'ai un formulaire qui permet d'enregistrer les produits qu'on a vendu a un client
On choisi un produit, un client et on valide
J'ai donc 2 spinner (spinner_produit et spinner_client) que je dois remplir avec chacun sa source de données provenant d'une table.
Je veux récupérer d'un seul coup les deux données en json et les afficher dans mon formulaire.
Détail:
coté serveur php
tables : produits et clients
et voici un json retourné
serveur_data.json
{"listeProduits":
[
{"produitId":"1","produitNom":"Smartphone"},
{"produitId":"1","produitNom":"PC PORTABLE"}
]
},
{"listeClient":
[
{"clientId":"1","clientNom":"Alida"},
{"clientId":"2","clientNom":"Fredy"},
{"clientId":"3","clientNom":"Fredy"}
]
}
coté android:
les models
//le model Produit public class Produit { String produitId, produitNom; public Produit(String produitId, String produitNom) { this.produitId = produitId; this.produitNom = produitNom; } @Override public String toString() { return produitNom; } } //le model Client public class Client { String clientId, clientNom; public Client(String clientId, String clientNom) { this.clientId = clientId; this.clientNom = clientNom; } @Override public String toString() { return clientNom; } }
Coté Retrofit
GetDataService.java public interface GetDataService { @GET("index.php") Call<DataManager> loadInitialData(); } DataManager.java public class DataManager { @SerializedName("listeClients") private ArrayList<Client> listeClients; @SerializedName("listeProduits") private ArrayList<Produit> listeProduits; public ArrayList<Client> getListeClients() { return listeClients; } public ArrayList<Produit> getListeProduits() { return listeProduits; } }
dans MainActivity.java
private ArrayList<Client> listeClients ; private ArrayList<Produit> listeProduits ; ... call.enqueue(new Callback<DataManager>() { @Override public void onResponse(Call<DataManager> call, Response<DataManager> response) { listeClients = response.body().getListeClients()); listeProduits = response.body().getListeProduits()); } @Override public void onFailure(Call<DataManager> call, Throwable t) { Toast.makeText(MainActivity.this, "Something went wrong...Please try later!", Toast.LENGTH_SHORT).show(); } });
Merci de me donner un coup de main
Message édité par la modération |
Merci d'utiliser la coloration syntaxique lorsque du code source est
présent dans votre message afin de rendre celui-ci plus lisible. |
Plus d'informations sur cet article : Utilisation des balises <code></code> |
A voir également:
- Chargé plusieurs table avec Retrofit
- Table ascii - Guide
- Table des matières word - Guide
- Paypro charge - Forum Virus
- Table des caractères - Guide
- Table des figures google doc ✓ - Forum Word