3

J'ai deux méthodes qui lisent les mêmes données de database, le premier renvoie Cursor et le second renvoie List d'objets.Maintenant je montre mes articles en activité en utilisant SimpleCursorAdapter et la première méthode, byt je peux également utiliser la deuxième méthode et appropriée adaptateur. Lequel de ces deux façons est préférable d'utiliser et de la deuxième manière quel adaptateur je devrais utiliser?Quel adaptateur choisir?

P.S désolé pour le pauvre anglais

Répondre

2

aller avec SimpleCursorAdapter Certainement. Si possible, utilisez toujours Cursor si vos données proviennent de database, vous économisez de la mémoire en ne créant pas List d'objets. Créer des objets en Java est coûteux en termes de temps et de consommation de mémoire et vous devez garder à l'esprit que vous êtes sur une plate-forme mobile avec des ressources limitées. Si vous utilisez List d'objets pour votre ListView que d'utiliser un adaptateur personnalisé s'étendant de ArrayAdapter.

Il n'est pas toujours facile d'utiliser Cursor bien que vos données proviennent de database. Disons que vous stockez des lieux dans le database défini par son nom et son emplacement et que vous souhaitez les afficher dans un ListView triés par distance de l'emplacement actuel. Cela rend difficile l'exécution d'une requête qui renvoie des résultats triés, sauf si vous ne stockez pas la distance relative dans une colonne supplémentaire. Mais vous pouvez obtenir Cursor le convertir en List des objets et trier cette collection avant de l'envoyer à votre ListView.

+0

Oui, j'utilise ListView et setListAdapter (nomadaptateur), ma première méthode renvoie simplement le curseur qui exécute la requête select, et la seconde méthode remplit la liste des éléments passant par le curseur que retourne nwthod en premier, je peux utiliser ces deux méthodes et adaptateurs appropriés, si je comprends bien, il est préférable d'utiliser Cursror? – Vahan

+1

Oui, utilisez 'SimpleCursorAdapter', il est créé exactement pour ce scénario et de manière à afficher les données dans' ListView' à partir de 'database'. – biegleux

+0

ok, merci beaucoup) – Vahan