Précédent   Forum des professionnels en informatique > Java > Général Java > Java & Mobiles > Android
Android Forum d'entraide sur Android, la plateforme mobile de Google pour téléphones portables et Smartphones. Avant de poster -> FAQ Android
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/02/2012, 11h39   #1
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
Par défaut Bonne pratique pour une ListView

Bonjour.

Aujourd'hui je suis content mon appli fonctionne comme je veux. Enfin presque sinon je ne serais pas là.

Actuellement mon activité principale fait :
- Connexion à mon site via SOAP
- Récupération des données JSON
- Parcours des données et sauvegarde des images
- Mise à jour de mon SimpleAdapter avec les données
- Chargement et mise à jour des données après un scroll vers le bas

En wifi ça marche très bien
Par contre sans...

Internet c'est bien il y des tonnes de tutos, de bouts de code à ceci près qu'il y en a trop et du coup je ne sais quoi choisir.

J'aimerais améliorer mon activité quitte à la refaire entièrement.

Il faudrait que ma listview se crée puis avec une AsyncTask (ou autre) je charge et affiche les images au fur et à mesure sans que la consultation des données par l'utilisateur soit bloquée (j'affiche un ProgressDialog tant que tout n'est pas chargé).

Quelqu'un pourrait-il m'aiguiller sur la bonne marche à suivre ?

L'application SeLoger est un bon modèle de ce que je souhaiterais faire.

Merci.
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 14h30   #2
Inscrit
 
Inscription : février 2008
Messages : 638
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 638
Points : 637
Points : 637
Tu veux charger les images 1 à un ? ou chargement au fur à mesure?

Alors je te propose de regarder cela si c'est ça que tu cherche...je te donnerai le bout de code correspondant :

https://market.android.com/details?i...paris.touriste
jahbromo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 14h34   #3
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
Oui voilà c'est ce que je veux.

Une listview dynamique qui s'affiche et au fur et à mesure les images se chargent et s'affichent avec une mise à jour en scrollant vers le bas.
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 14h42   #4
Inscrit
 
Inscription : février 2008
Messages : 638
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 638
Points : 637
Points : 637
http://jahbromo.blogspot.com/2011/07...tance-sur.html

Voila regarde ça ca il charge les contenue au fur à mesure...
jahbromo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 14h48   #5
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
Merci beaucoup

Je check ça de suite et je referai signe une fois adapté et testé pour mon appli (si j'ai pas eu de problème avant )
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/02/2012, 15h32   #6
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
Désolé pour le double post mais je ne pense pas qu'il y ait de notification lors d'un edit.

Je n'aurai pas mis longtemps avant de rencontrer un problème (c'était trop beau )

J'arrive à récupérer mes données mais lorsque je commence à scroller j'ai ça :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
02-10 15:27:24.638: E/AndroidRuntime(16263): FATAL EXCEPTION: main
02-10 15:27:24.638: E/AndroidRuntime(16263): java.lang.StringIndexOutOfBoundsException: String index out of range: 5
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at java.lang.String.substring(String.java:1625)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at org.sidibe.dynamiclistview.loader.NewsModel.getDescription(NewsModel.java:41)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at org.sidibe.dynamiclistview.loader.TestDynamicListView$NewsModelAdapter$EventListItemView.reuseItem(TestDynamicListView.java:132)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at org.sidibe.dynamiclistview.loader.TestDynamicListView$NewsModelAdapter.getView(TestDynamicListView.java:163)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.AbsListView.obtainView(AbsListView.java:1577)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.ListView.makeAndAddView(ListView.java:1778)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.ListView.fillDown(ListView.java:701)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.ListView.fillGap(ListView.java:672)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.AbsListView.trackMotionScroll(AbsListView.java:4146)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.AbsListView.onTouchEvent(AbsListView.java:2598)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.widget.ListView.onTouchEvent(ListView.java:3679)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.View.dispatchTouchEvent(View.java:3938)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:903)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1746)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1152)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.app.Activity.dispatchTouchEvent(Activity.java:2102)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1730)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2218)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.view.ViewRoot.handleMessage(ViewRoot.java:1889)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.os.Handler.dispatchMessage(Handler.java:99)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.os.Looper.loop(Looper.java:130)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at android.app.ActivityThread.main(ActivityThread.java:3691)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at java.lang.reflect.Method.invokeNative(Native Method)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at java.lang.reflect.Method.invoke(Method.java:507)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
02-10 15:27:24.638: E/AndroidRuntime(16263): 	at dalvik.system.NativeStart.main(Native Method)
Par ailleurs, dans la class NewsModel, TIME_KEY fait référence à une date, mais quel format ? Un timestamp ?



EDIT : Pour le coup du "String index out of rang" je pense que cela venait du fait que j'avais mis un intervalle trop petit (10).
Par contre pour le timestamp il m'affiche toujours 1970-01-16

EDIT2 : Finalement j'envoie la date formatée donc plus de souci.
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 13/02/2012, 10h15   #7
Responsable Android
 
Avatar de Feanorin
 
Inscription : avril 2004
Messages : 2 409
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 2 409
Points : 3 531
Points : 3 531
Envoyer un message via Skype™ à Feanorin
Bonjour,

Si vous avez trouvé la solution à votre problème merci de bien vouloir éditer votre post avec le bouton .

Sinon merci de poser vos questions.
Feanorin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 10h27   #8
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
J'ai toujours un problème pour afficher les images au fur et à mesure.

Dois-je passer par une AsyncTask ?
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/02/2012, 16h03   #9
Membre du Club
 
Inscription : avril 2011
Messages : 91
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 91
Points : 40
Points : 40
J'ai enfin fini par trouver

Si ça peut aider quelqu'un : http://www.javacodegeeks.com/2010/11...ized-list.html

En tout cas merci beaucoup jahbromo
p4ndore est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h52.


 
 
 
 
Partenaires

Hébergement Web