Salut !
J'ai parcouru tout le document (si si ! mais juste parcouru )
Voici quelques commentaires (dans l'ordre):
2.2. De mémoire demander à Eclipse d'encoder en UTF-8 est une très mauvaise idée... C'est effectivement un paramètre propre à l'éditeur de fichier, qui ne sera pas transmis à un compilateur java (javac) avec donc de forts risques... Pour les caractères "spéciaux", préférer la notation \u dans les chaines pour encoder les caractères accentués. De toute manière, ceux-ci n'apparaissant (à priori) que dans les chaines de ressource (localisation oblige), cela ne devrait jamais poser de problème, mais qui sait ?
2.3 targetSdkVersion n'est pas équivalent à maxSdkVersion. target indique la version du SDK utilisée pour produire l'application (compiler), indique aussi aux versions plus récentes d'appliquer des règles spécifiques. Ainsi une application compilée pour Android 2.3 ne plantera pas même si elle utilise le réseau dans le thread UI (ce qui est toujours une erreur, mais le système utilisera des règles "2.3" au lieu de règle 3.0+).
3.7 Je n'ai pas trop compris cette partie, c'est la gestion du "back" classique d'android qu'il faut utiliser non ? Parceque sinon, on risque de se retrouver avec une sacrée pile d'activités
9. Haaa c'est mon domaine !
D'abord, l'exemple montré ne saurait être REST.... en effet, par définition de REST, n appels à un GET sur une URL identique avec des paramètres identique doit retourner des données identiques (c'est tout l'interêt de REST).
Dans l'exemple il ne peut donc s'agir d'un GET.
D'autre part, REST ne limite pas à GET/PUT/POST/DELETE, la commande peut être n'importe quoi: RANDOM (par exemple ), LOGIN, ou tout autre commande qui ai un sens pour la ressource.
Quant à renvoyer du XML ou du JSON, pas forcément, un service REST peut très bien renvoyer du HTML, du PDF, du XLS, du CSV... l'étape de représentation dépend uniquement de "Accept-Type" de la requête passée au service REST.
9.1. Spring MVC comme point d'entrée "API" à un client distant, c'est pas un peu lourdingue ? Je veux dire, Spring MVC est de base fait pour proposer des visualisations (views) et appliquer des règles (controller) sur un modèle... dans le cas d'une API on vire en général la partie views, et la partie modèle... reste grosso-modo que le controlleur.... d'ou mon sentiment que MVC n'est pas adapté aux web-services "API".
9.3.6
HAHHAAAAA NON PITIE !
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().permitAll().build());
C'est une horreur abjecte ! (on en revient à mon premier point sur le SDK version d'ailleurs).
Il faudrait vraiment marquer en rouge de ne *jamais* utiliser cela !
(c'est pas pour rien que le système le vérifie de manière active depuis Android 3.0). Surtout que le truc asynchrone arrive bien après !
Sauf que... c'est l'inverse...
La génération de (n) nombres aléatoire est une opération potentiellement longue, et donc, doit intervenir de manière asynchrone, donc avant même que ce soit fait par l'appel à un webservice !
Comme une requête en base de données, une lecture de fichiers, ...
Donc j'inverserai les chapitres, en commencant par la génération de nombre asynchrone, puis, en intégrant le webservice.
1. C'est cohérent.
2. Cela évite de voir trainer dans un tutoriel/cours l'ignominie du StrictMode !
Partager