Quel est le rôle des adaptateurs sous Android?

123

Je veux savoir quand , et comment les adaptateurs sont utilisés dans le contexte d'Android.

Les informations de la documentation des développeurs d'Android étaient insuffisantes pour moi et j'aimerais obtenir une analyse plus détaillée.

Robin
la source

Réponses:

29

Supposons que vous souhaitiez afficher une liste dans votre application Android. Pour cela, vous utiliserez le ListViewfourni par Android. ListViews ne contiennent en fait aucune donnée. C'est juste un élément d'interface utilisateur sans données. Vous pouvez remplir vos ListViews en utilisant un adaptateur Android.

Adapterest une interface dont les implémentations fournissent des données et contrôlent l'affichage de ces données. ListViews propres adaptateurs qui contrôlent complètement l' ListViewaffichage du. Ainsi, les adaptateurs contrôlent le contenu affiché dans la liste ainsi que la façon de l'afficher.

L' Adapterinterface comprend diverses méthodes pour communiquer des données au ListView. Vous pouvez créer votre propre adaptateur à partir de zéro en implémentant BaseAdapter.

public class ArrayAdapter<T> extends BaseAdapter implements Filterable {

// One of the constructors
public ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects) {
    init(context, resource, textViewResourceId, Arrays.asList(objects));
}

void manyMoreMethods(){} 

}

Permet de définir un adaptateur:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
   android.R.layout.simple_list_item_1, android.R.id.text1, values);
  • Premier paramètre: contexte
  • Deuxième paramètre: disposition de la ligne
  • Troisième paramètre: ID du TextViewsur lequel les données sont écrites
  • Quatrième paramètre: le tableau de données
Prashant_M
la source
45

Les adaptateurs de puits dans Android sont essentiellement un pont entre les composants de l'interface utilisateur et la source de données qui remplissent les données dans le composant de l'interface utilisateur.

Par exemple, les listes (composant d'interface utilisateur) sont remplies à l'aide d'un adaptateur de liste, à partir d'un tableau de sources de données.

success_anil
la source
21
Ce sont les mêmes informations que je peux obtenir de la documentation. Mais je veux une explication détaillée
Robin
25

Je voudrais partager ma compréhension.

C'est une interface entre la source de données et votre mise en page (très probablement ListView).

Une analogie

Prenons l'exemple d'un chargeur mobile, ou plutôt d'un câble USB. Le fil peut être considéré comme l'adaptateur, tandis que la source de données et la disposition peuvent être comprises comme la prise (point de connexion) et le port USB (point de charge) respectivement.

Dans le cas de la charge mobile, la source d'alimentation peut être différente, par exemple la charge depuis une banque d'alimentation, une prise ou un ordinateur portable. Il en va de même pour les adaptateurs utilisés sous Android. La source de données peut être modifiée en fonction des exigences de l'application.

En bref, un adaptateur sous Android transporte les données d'une source (par exemple ArrayList<>) et les délivre dans une mise en page (fichier .xml).

Akhilesh Sinha
la source
2
Le meilleur exemple à ce jour: D Bon travail!
Daksh Gargas
8

Les adaptateurs dans Android sont un pont entre la vue de l'adaptateur (par exemple ListView) et les données sous-jacentes de cette vue. Imaginez ce que le monde aurait été sans adaptateurs!

Exemples

  • Une vue qui montre les éléments dans une liste déroulante verticalement. Les éléments proviennent de l' ListAdapterassocié à cette vue.

  • Le ListAdapterdéfinit la disposition des lignes individuelles de la liste et fournit des données au ListViewvia la setAdapter()méthode de ListView.

  • Android fournit plusieurs adaptateurs standard; les plus importants sont ArrayAdapteret CursorAdapter.

  • ArrayAdapter peut gérer des données basées sur des tableaux ou des listes.

  • SimpleCursorAdapter peut gérer les données liées à la base de données.
Steve
la source
4

Les adaptateurs sont essentiellement utilisés pour diffuser du contenu. Un adaptateur que vous avez probablement dans chaque application est le CursorAdapter qui vous permet de fournir le contenu donné par un curseur à partir d'une requête de base de données. Un ListView a presque toujours une sorte d'adaptateur.

WarrenFaith
la source
7
Ce sont les mêmes informations que je peux obtenir de la documentation. Mais je veux une explication détaillée
Robin
@Robin: pourquoi ne pas fêter les 10 ans de votre question en "acceptant" l'une des réponses. Personnellement: 1) J'ai trouvé votre question intéressante (c'est comme ça que je suis arrivé ici), 2) J'ai trouvé plusieurs de ces réponses utiles (y compris celle-ci) ... et 3) Je n'ai aucune idée de ce que vous entendez par " une explication plus détaillée ». C'est peut-être parce que je suis plus intéressé par le «pourquoi» (comme expliqué ci-dessus). Je suis plus intéressé par la « forêt » (comme la réponse de WarrenFaith) que les « arbres détaillés » (whichI CAN obtenir de la documentation). Merci de voter pour et d'accepter :)
FoggyDay
4

Un adaptateur agit comme un pont entre un AdapterViewet les données sous-jacentes pour cette vue. L'adaptateur permet d'accéder aux éléments de données et est responsable de la création d'une vue pour chaque élément de l'ensemble de données.

Les adaptateurs sont un moyen intelligent de connecter un Viewavec une sorte de source de données. En règle générale, votre vue serait a ListViewet les données prendraient la forme d'un Cursorou Array. Les adaptateurs sont donc des sous-classes de CursorAdapterou ArrayAdapter.

Jainendra
la source
2

Un adaptateur gère le modèle de données et l'adapte aux lignes individuelles de la vue de liste. Il étend la BaseAdapterclasse.

Chaque ligne de la vue liste se compose d'une mise en page qui peut être aussi complexe que vous le souhaitez. Une ligne typique dans une vue de liste a une image sur le côté gauche et deux lignes de texte au milieu.

kamal patidar
la source
0

L'adaptateur est simplement utilisé pour réaliser le concept de listview. Non seulement pour afficher la liste des données, mais également pour certaines vues personnalisées. Supposons que le client veuille utiliser la liste qui a le plus grand nombre de vues de texte (toute autre vue), nous devons utiliser la vue Adaptateur dans Android.

Hemalatha MR
la source
0

Il y a déjà plusieurs réponses, mais je veux donner une réponse différente.

L'adaptateur signifie que vous pouvez que Son fournisseur de pont .

Les adaptateurs sont le lien entre un ensemble de données et AdapterView qui affiche les données.

Ramesh
la source
0

À la fin, les adaptateurs sont très utiles pour faire un rapport. Si l'on veut afficher un rapport de certaines informations, on peut utiliser cet outil pour afficher les données sur la vue.

RobertoFRey
la source