Aller au contenu

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

Rtransat

HashMap ou BaseAdapter pour une liste

Recommended Posts

Bonjour,

Je regardais différent tuto sur les listview et je voulais savoir si le HashMap était plus adapté qu'un BaseAdapter ?

Quand je vois qu'avec un BaseAdapter il faut implémenter une interface, je trouve ça fastidieux, alors qu'avec un hashmap il suffit d'utiliser l'écouter setOnItemClickListener sur notre liste, ou alors le HashMap ne peut s'utiliser avec une base de donnée sqllite ?

Qu'utilisez vous pour être rapide tout en étant efficace ?

Merci d'avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

L'Adapter est bien plus adapté pour s'interface avec une ListView. Tu déclares ton activité comme étant une ListActivity, et tout s'imbrique tout seul naturellement, c'est de loin plus simple que de bidouiller avec des listeners pour accrocher un HashMap à ta liste.

De plus avec SimpleCursorAdapter le lien avec une BDD est ultra-simple. Tu n'es pas obligé de tout implémenter tu sais, il y a déjà un tas de classes *Adapter qui implémentent cette interface :)

Partager ce message


Lien à poster
Partager sur d’autres sites

Ce sont deux choses complètement différentes!

HashMap fait parti du "modèle", tandis que les Adapter sont plutôt liés à la partie "contrôleur"

Partager ce message


Lien à poster
Partager sur d’autres sites

Avec une listActivity on peut utiliser des données venant de sqlite ?

Si c'est le cas je pourrais avoir un exemple simple pour mettre les données dans un tableau ? Si on prend des données brut on écrit String[] monTableau = {"un","deux", "etc"}; et pour du SQL ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je crois que tu confonds un peu tout ^^

Le modèle, ce sont tes données.

Ca peut venir d'une base SQL, d'un tableau, d'une HashMap, d'une ArrayList...

La vue, c'est ton affichage.

Tu peux utiliser une ListView, une GridView... en fonction de l'affichage souhaité

Le contrôleur, c'est ce qui va faire le lien entre ton modèle et ta vue (entre les donnée et ton affichage)

Il me semble que les Adapter font parti de cette catégorie.

Ils vont simplement lire les données du modèle, et les passer au format adéquat à la vue.

Il me semble aussi que les Activity sont aussi des "contrôleurs".

Dans le cas de la ListActivity, il s'agit d'une Activity normale, sauf qu'elle dispose de:

- Une vue par défaut (content view), étant une ListView

- Une méthode pour définir un Adapter, et le lier à la ListView

Si t'as bien suivi, tu comprendra que ta question

Avec une listActivity on peut utiliser des données venant de sqlite ?

n'a pas vraiment de sens :/

(il est évident que oui)

Partager ce message


Lien à poster
Partager sur d’autres sites

D'accord ;) je te remercie, existe t-il des tuto avec des données sqlite dans un listview ? Le tout en étant simple c'est-à-dire pour commencer utiliser un listview des plus simpliste sans vue personnalisé ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'en connais pas, mais tu peux en trouver sur Google je pense :P

Néanmoins la procédure a l'air assez simple :

- Instancier un SQLiteCursor en fonction de ta requête : http://developer.android.com/reference/android/database/sqlite/SQLiteCursor.html

- Instancier un CursorAdapter en passant en paramètre ton cursor précédemment crée

- Instancier une ListView, et lui définir son Adapter à l'aide du CursorAdapter précédent

C'est la théorie...

Partager ce message


Lien à poster
Partager sur d’autres sites





×
×
  • Créer...