¿Cuál es el papel de los adaptadores en Android?

123

Quiero saber cuándo , dónde y cómo se utilizan los adaptadores en el contexto de Android.

La información de la documentación del desarrollador de Android fue insuficiente para mí y me gustaría obtener un análisis más detallado.

Robin
fuente

Respuestas:

29

Supongamos que desea mostrar una lista en su aplicación de Android. Para esto, utilizará el ListViewproporcionado por Android. ListViews no contienen datos en sí mismos. Es solo un elemento de la interfaz de usuario sin datos. Puede completar su ListViewcorreo electrónico utilizando un adaptador de Android.

Adapteres una interfaz cuyas implementaciones proporcionan datos y controlan la visualización de esos datos. ListViewAdaptadores propios que controlan completamente la ListViewpantalla. Por lo tanto, los adaptadores controlan el contenido que se muestra en la lista y cómo mostrarlo.

La Adapterinterfaz incluye varios métodos para comunicar datos a ListView. Puede crear su propio adaptador desde cero mediante la implementación 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(){} 

}

Vamos a definir un adaptador:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
   android.R.layout.simple_list_item_1, android.R.id.text1, values);
  • Primer parámetro: contexto
  • Segundo parámetro: diseño para la fila
  • Tercer parámetro: ID de en el TextViewque se escriben los datos.
  • Cuarto parámetro: la matriz de datos
Prashant_M
fuente
45

Los adaptadores de pozo en Android son básicamente un puente entre los componentes de la interfaz de usuario y la fuente de datos que llenan los datos en el componente de la interfaz de usuario

Por ejemplo, las Listas (Componente de IU) se llenan utilizando un adaptador de lista, desde una matriz de fuente de datos.

success_anil
fuente
21
Esta es la misma información que puedo obtener de la documentación. Pero quiero una explicación detallada
Robin
25

Me gustaría compartir mi entendimiento.

Es una interfaz entre la fuente de datos y su diseño (muy probablemente ListView).

Una analogía

Tomemos el ejemplo de un cargador móvil, o más bien un cable USB. El cable puede considerarse como el adaptador, mientras que la fuente de datos y el diseño pueden entenderse como el zócalo (punto de conexión) y el puerto USB (punto de carga) respectivamente.

En el caso de la carga móvil, la fuente de energía puede ser diferente, por ejemplo, cargar desde un banco de energía, un enchufe o una computadora portátil. Lo mismo es el caso de los adaptadores utilizados en Android. La fuente de datos puede modificarse según los requisitos de la aplicación.

En resumen, un adaptador en Android transporta los datos de una fuente (p ArrayList<>. Ej. ) Y los entrega a un diseño (archivo .xml).

Akhilesh Sinha
fuente
2
El mejor ejemplo hasta ahora: D ¡Buen trabajo!
Daksh Gargas
8

Los adaptadores en Android son un puente entre la vista del adaptador (por ejemplo ListView) y los datos subyacentes para esa vista. ¡Imagina lo que hubiera sido el mundo sin adaptadores!

Ejemplos

  • Una vista que muestra elementos en una lista de desplazamiento vertical. Los elementos provienen de los ListAdapterasociados con esta vista.

  • El ListAdapterdefine el diseño para filas individuales de la lista y proporciona datos a ListViewtravés del setAdapter()método de ListView.

  • Android proporciona varios adaptadores estándar; los mas importantes son ArrayAdaptery CursorAdapter.

  • ArrayAdapter puede manejar datos basados ​​en matrices o listas.

  • SimpleCursorAdapter puede manejar datos relacionados con la base de datos.
Steve
fuente
4

Los adaptadores se utilizan básicamente para entregar contenido. Un adaptador que probablemente tenga en cada aplicación es el CursorAdapter que le permite entregar contenido dado por un cursor desde una consulta de base de datos. Un ListView tiene casi siempre algún tipo de adaptador.

WarrenFe
fuente
77
Esta es la misma información que puedo obtener de la documentación. Pero quiero una explicación detallada
Robin
@Robin: ¿por qué no celebras el décimo aniversario de tu pregunta "aceptando" una de las respuestas? Personalmente: 1) Tu pregunta me pareció valiosa (así es como terminé aquí), 2) Encontré muchas de estas respuestas útiles (incluida esta) ... y 3) No tengo ni idea de lo que quieres decir con " una explicación más detallada ". Tal vez sea porque estoy más interesado en el "por qué" (como se explicó anteriormente); Estoy más interesado en el "bosque" (como la respuesta de WarrenFaith) que en los "árboles detallados" (que PUEDO obtener de la documentación). Vota y acepta :)
FoggyDay
4

Un adaptador actúa como un puente entre an AdapterViewy los datos subyacentes para esa vista. El adaptador proporciona acceso a los elementos de datos y es responsable de crear una vista para cada elemento del conjunto de datos.

Los adaptadores son una forma inteligente de conectar un Viewtipo de fuente de datos. Por lo general, su vista sería una ListViewy los datos aparecerían en forma de una Cursoro Array. Entonces los adaptadores vienen como subclases de CursorAdaptero ArrayAdapter.

Jainendra
fuente
2

Un adaptador gestiona el modelo de datos y lo adapta a las filas individuales en la vista de lista. Extiende la BaseAdapterclase.

Cada línea en la vista de lista consta de un diseño que puede ser tan complejo como desee. Una línea típica en una vista de lista tiene una imagen en el lado izquierdo y dos líneas de texto en el medio.

Kamal Patidar
fuente
0

El adaptador se usa simplemente para lograr el concepto de vista de lista. No solo para mostrar la lista de datos, sino también algunas vistas personalizadas. Supongamos que el cliente quiere usar la lista que tiene más cantidad de vistas de texto (cualquier otra vista), entonces tenemos que usar la vista Adaptador en Android.

Hemalatha MR
fuente
0

Ya se han dado respuestas múltiples, pero quiero dar una respuesta diferente.

Adaptador significa que puede que su proveedor de puente .

Los adaptadores son el enlace entre un conjunto de datos y el AdapterView que muestra los datos.

Ramesh
fuente
0

Al final, los adaptadores son muy útiles para hacer un informe. Si se quiere mostrar un informe de alguna información, se puede usar esta herramienta para mostrar los datos en la vista.

RobertoFRey
fuente