Odpowiedzi:
Załóżmy, że chcesz wyświetlić listę w swojej aplikacji na Androida. W tym celu użyjesz ListView
dostarczonego przez Androida.
ListView
w rzeczywistości same nie zawierają żadnych danych. To tylko element interfejsu użytkownika bez danych. Możesz wypełnić swoje ListView
pliki za pomocą adaptera Android.
Adapter
to interfejs, którego implementacje dostarczają dane i sterują wyświetlaniem tych danych.
ListView
własne adaptery, które całkowicie kontrolują ListView
wyświetlacz. Tak więc adaptery kontrolują zawartość wyświetlaną na liście, a także sposób jej wyświetlania.
Adapter
Interfejs obejmuje różne sposoby komunikowania danych do systemu ListView
. Możesz stworzyć swój własny adapter od podstaw, implementując 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(){}
}
Zdefiniujmy adapter:
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
TextView
do którego zapisywane są daneAdaptery w systemie Android są w zasadzie pomostem między komponentami UI a źródłem danych, które wypełniają dane do komponentu UI
Na przykład listy (składnik interfejsu użytkownika) są wypełniane za pomocą adaptera list z tablicy źródła danych.
Chciałbym podzielić się moim zrozumieniem.
Jest to interfejs między źródłem danych a układem (najprawdopodobniej ListView).
Weźmy na przykład ładowarkę mobilną, a raczej kabel USB. Przewód można traktować jako adapter, natomiast źródło danych i układ można rozumieć odpowiednio jako gniazdo (punkt wtyku) i port USB (punkt ładowania).
W przypadku ładowania mobilnego źródło zasilania może być inne, np. Ładowanie z powerbanku, gniazdka czy laptopa. To samo dotyczy adapterów używanych w systemie Android. Źródło danych może ulec zmianie w zależności od wymagań aplikacji.
Krótko mówiąc, adapter w systemie Android przenosi dane ze źródła (np. ArrayList<>
) I dostarcza je do układu (plik .xml).
Adaptery w systemie Android są pomostem między widokiem adaptera (np. ListView
) A podstawowymi danymi tego widoku. Wyobraź sobie, jak wyglądałby świat bez adapterów!
Widok pokazujący elementy na liście przewijanej w pionie. Elementy pochodzą z ListAdapter
powiązanego z tym widokiem.
ListAdapter
Definiuje układ dla poszczególnych wierszy listy i dostarcza dane do ListView
pośrednictwem setAdapter()
metody
ListView
.
Android udostępnia kilka standardowych adapterów; najważniejsze to
ArrayAdapter
i CursorAdapter
.
ArrayAdapter
może obsługiwać dane w oparciu o tablice lub listy.
SimpleCursorAdapter
może obsługiwać dane związane z bazą danych.Adaptery są zasadniczo używane do dostarczania treści. Jednym z adapterów, które prawdopodobnie masz w każdej aplikacji, jest CursorAdapter, który umożliwia dostarczanie treści podawanej przez kursor z zapytania do bazy danych. ListView prawie zawsze ma jakiś rodzaj adaptera.
Adapter działa jako pomost między AdapterView
danymi a bazowymi danymi tego widoku. Adapter zapewnia dostęp do elementów danych i jest odpowiedzialny za tworzenie widoku dla każdego elementu w zestawie danych.
Adaptery to sprytny sposób na połączenie View
z jakimś źródłem danych. Zwykle Twój widok byłby a, ListView
a dane miałyby postać Cursor
lub Array
. Więc adaptery są podklasy CursorAdapter
lub ArrayAdapter
.
Adapter zarządza modelem danych i dostosowuje go do poszczególnych wierszy w widoku listy. To rozszerza BaseAdapter
klasę.
Każdy wiersz w widoku listy składa się z układu, który może być tak złożony, jak chcesz. Typowa linia w widoku listy ma obraz po lewej stronie i dwie linie tekstu pośrodku.
Adapter służy po prostu do osiągnięcia koncepcji widoku listy. Nie tylko do wyświetlania listy danych, ale także do niestandardowego widoku. Załóżmy, że klient chce skorzystać z listy, która ma większą liczbę widoków tekstowych (jakikolwiek inny widok), wtedy musimy skorzystać z widoku Adaptera w systemie Android.
Na koniec adaptery są bardzo przydatne do sporządzenia raportu. Chcąc pokazać jakieś informacje w raporcie, można skorzystać z tego narzędzia, aby pokazać dane na widoku.