Je développe une plate-forme de microblogging dans laquelle j'ai besoin de remplir la page avec Post (classe définie par l'utilisateur avec des champs) obtenue à partir du serveur Django en utilisant HttpGet.Envoyer plusieurs requêtes http à Django depuis Android
Côté client (Android), j'utilise GSON pour analyser les réponses du serveur au type Post. J'ai donc besoin que le serveur envoie les messages un par un de manière à ajouter chacun d'entre eux à une liste de messages après l'analyse, puis notifier enfin l'adaptateur de liste des changements dans l'ensemble de données après que tous les messages aient été ajoutés.
Mais le problème vient lors du chargement initial de l'application, la page doit être remplie avec les 10 derniers messages du serveur. J'ai donc pensé à une manière plutôt sale d'envoyer 10 requêtes httpget au serveur l'une après l'autre au serveur. Le code ressemble à ceci
public void populateTimeline(){
Thread populate = new Thread(){
public void run(){
Looper.prepare();
InputStream data = getData(serviceURL); //gets a post from server
if(data!= null){
String result = responsetoString(data); //turns response to String
progressDialog.show();
Posts post = toPostfromGson(result); //Parses string to Post Object
}
Looper.loop();
}
};
populate.start();
}
Je pensais à exécuter 10 fois dans une boucle pour obtenir le 10 de Postes que je demande. Mais dans Django autant que je sache (corrigez-moi si je me trompe) il n'y a aucun moyen de conserver un index du dernier message envoyé au client et donc aucun moyen d'envoyer le message 'suivant' sur la prochaine requête HttpGet. Donc je n'ai plus d'idées.
Je pense qu'il y a une meilleure façon de le faire efficacement. Toute aide serait très appréciée.
ne pouvez-vous pas simplement générer une liste de postes de test et sérialiser en gson? –