Dans votre cas CursorAdapter
est plus approprié lorsqu'il y a une base de données car il ne charge pas tous les enregistrements en tant que ArrayAdapter
. Il charge uniquement les enregistrements visibles ou les enregistrements que vous interrogez. Voici la documentation de CursorAdapter :
Adaptateur qui expose les données d'un curseur à un widget ListView.
Le curseur doit inclure une colonne nommée "_id" ou cette classe ne fonctionnera pas. De plus, l'utilisation de MergeCursor avec cette classe ne fonctionnera pas si les curseurs fusionnés ont des valeurs qui se chevauchent dans leurs colonnes "_id".
À partir de la documentation du fournisseur de contenu, cela pourrait ne pas vous être utile.
Vous n'avez pas besoin d'un fournisseur pour utiliser une base de données SQLite si l'utilisation est entièrement dans votre propre application.
Vous pouvez choisir CursorAdapter
sur ArrayAdapter
.