Librairie pour faciliter la création de liste

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour,

Je débarque tout fraîchement dans le monde des APP mobile (android). J'ai fini la lecture de plusieurs tutoriels et je commence à me faire la main avec une APP qui n'a aucun but précis, si ce n'est m’entraîner. Actuellement j'essaye de faire une Liste d'items avec un json que je récupère sur le net, mais j'ai l'impression d'écrire une chier de code pour au final afficher une bête liste.

  • Créer un layout
  • Créer une class pour la liste
  • La binder
  • Le truc de l'adapter

Bref ! Je trouve que c'est un enfer pour un truc que j'aurai mis 2 secondes en JS, PHP ou autre. Est ce qu'il n'y a pas des snippets ? Librairie ou quelque chose qui permettrais de juste parser un json et de le boucler dans un layout ? Sans passer pas une class, un adapter, etc…

Je sais que je suis une feignasse, mais ça me rend vraiment fou. Par exemple pour récupérer le JSON j'utilise OKHTTP, qui à l'air d'être plus facile selon un auteur de tuto que la librairie http par default. Donc je me demandais s'il n'existait pas cela pour les listes. J'ai pas encore trouvé un site avec genre les librairies incontournables, donc si vous avez une liste sous le coude je prends aussi. (Me filez pas github :-° )

J'ai toujours trouvé du plaisir a apprendre de nouveaux langages et autre, mais la franchement je n'y prends aucun dans l’apprentissage d'Android je trouve vraiment ça mal foutu. Et apparement je ne suis pas le seul http://www.reddit.com/r/androiddev/comments/2hlw20/am_i_retarded_or_android_development_is_a_mess/ :D

Merci

+0 -0

Salut hotgeart,

Déjà, il faut savoir que le framework Android a un gros défaut : la répétition de code. C'est quelque chose d'inévitable et les listes n'y échappent pas. Par contre, le framework a un gros avantage : il a une énorme communauté et donc beaucoup de bibliothèques.

Personnellement, je ne jure que par les bibliothèque de Square et de Jake Wharton qui sont toutes d'une grande qualité et très largement utilisées par les développeurs Android.

Pour tes requêtes Web, tu fais bien d'utiliser OkHttp qui est une librairie de Square. Si tu interroges un Web Service, je te conseil de changer pour Retrofit. C'est une libraire par dessus OkHttp adapté pour des appels à un Web Service avec une utilisation très élégante.

Pour les listes, déjà tu n'es pas obligé de développer ton propre adapter. Si tu veux une liste toute simple, tu peux utiliser les classes disponibles dans le framework, à savoir ArrayAdapter. Tu peux trouver des centaines de tutoriels sur son utilisation comme celui-ci.

Après, si c'est pour apprendre, je te conseillerais plutôt les RecyclerView bien plus performantes et qui remplace doucement les ListView (doc).

Enjoy dans le développement Android. :)

+0 -0
Auteur du sujet

Merci pour ta réponse.

Oui j'utilise une RecyclerView.

J'ai vite cherché pour l'ArrayAdapter, mais apparemment il ne prend juste qu'un TextView. Et moi j'ai une liste avec un TextView et une ImageView.

C'est vraiment dommage qu'ils se bouge pas le c*l pour rendre la chose plus accessible. Je trouve juste le système de layout avec son éditeur visuel bien fait et clair, mais le code… franchement heureusement que je n'ai pas de corde.

+0 -0

C'est un problème complexe.

D'une part, il faut déjà être rétrocompatible avec les anciennes versions d'Android. Les bibliothèques de compatibilité rendent la plupart des fonctionnalités compatibles avec Android API 7+. Donc tu ne peux pas changer les ListView du jour au lendemain comme ça.

D'autre part, RecyclerView est justement une refonte des ListView mais l'implémentation de ce genre de choses est complexe pour rester flexible à toutes les utilisations d'une liste (et dieux sait qu'il y en a des centaines) et rester performant sur la création de chaque vue d'une liste (et dieux sait qu'elles peuvent être complexes).

De mon côté, je salue l'initiative de RecyclerView qui règle déjà pas mal de problèmes. :)

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte