Chargé plusieurs table avec Retrofit
micropro7
-
BunoCS Messages postés 16550 Date d'inscription Statut Modérateur Dernière intervention -
BunoCS Messages postés 16550 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
- Média chargé snap - Forum Snapchat
- Paypro charge - Forum Virus
- Table des figures google doc ✓ - Forum Word