Android에서 어댑터의 역할은 무엇입니까?
Android 컨텍스트에서 언제 , 어디서 , 어떻게 어댑터가 사용 되는지 알고 싶습니다 .
안드로이드 개발자 문서의 정보가 충분하지 않아서 더 자세한 분석을 원합니다.
Well 안드로이드의 어댑터는 기본적으로 UI 구성 요소와 UI 구성 요소에 데이터를 채우는 데이터 소스 사이의 브릿지입니다
예를 들어, 목록 (UI 구성 요소)은 데이터 소스 배열에서 목록 어댑터를 사용하여 채워집니다.
Android 앱에 목록을 표시한다고 가정합니다. 이를 위해 ListView
Android 에서 제공 한 것을 사용합니다 . ListView
실제로 데이터 자체가 포함되어 있지 않습니다. 데이터가없는 UI 요소 일뿐입니다. ListView
Android 어댑터를 사용 하여을 채울 수 있습니다 .
Adapter
구현은 데이터를 제공하고 해당 데이터의 표시를 제어하는 인터페이스입니다. ListView
의 ListView
디스플레이 를 완전히 제어하는 자체 어댑터 . 따라서 어댑터는 목록에 표시되는 내용과 표시 방법을 제어합니다.
Adapter
인터페이스는 데이터를 전달하는 다양한 방법을 포함한다 ListView
. 을 구현하여 처음부터 고유 한 어댑터를 만들 수 있습니다 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(){}
}
어댑터를 정의 할 수 있습니다.
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, values);
- 첫 번째 매개 변수 : 컨텍스트
- 두 번째 매개 변수 : 행의 레이아웃
- 세 번째 매개 변수 :
TextView
데이터가 쓰여지는 ID - 네 번째 매개 변수 : 데이터 배열
이해를 나누고 싶습니다.
데이터 소스와 레이아웃 (대부분 ListView) 사이의 인터페이스입니다.
유추
모바일 충전기 또는 USB 케이블을 예로 들어 보겠습니다. 와이어는 어댑터로 간주 될 수 있지만 데이터 소스 및 레이아웃은 각각 소켓 (플러그인 포인트) 및 USB 포트 (충전 포인트)로 이해 될 수 있습니다.
모바일 충전의 경우, 전원의 공급원이 다를 수 있으며, 예를 들어 전원 뱅크, 소켓 또는 랩탑으로부터의 충전이 다를 수있다. Android에서 사용되는 어댑터의 경우도 마찬가지입니다. 응용 프로그램 요구 사항에 따라 데이터 소스가 변경 될 수 있습니다.
즉, Android의 어댑터는 소스 (예 :)에서 데이터를 ArrayList<>
전달하여 레이아웃 (.xml 파일)으로 전달합니다.
Android의 어댑터는 어댑터보기 (예 :) ListView
와 해당보기의 기본 데이터를 연결합니다. 전 세계에 어댑터가 없었던 것을 상상해보십시오!
예
세로 스크롤 목록의 항목을 표시하는보기입니다. 항목은
ListAdapter
이보기와 연관된 것입니다.는
ListAdapter
리스트의 각각의 행에 대한 레이아웃을 정의하고, 데이터를 제공하는ListView
비아setAdapter()
방법ListView
.Android는 여러 표준 어댑터를 제공합니다. 가장 중요한 것은
ArrayAdapter
및CursorAdapter
입니다.ArrayAdapter
배열 또는 목록을 기반으로 데이터를 처리 할 수 있습니다.SimpleCursorAdapter
데이터베이스 관련 데이터를 처리 할 수 있습니다.
어댑터는 기본적으로 컨텐츠를 전달하는 데 사용됩니다. 모든 응용 프로그램에서 가질 수있는 하나의 어댑터는 커서로 제공된 컨텐츠를 데이터베이스 조회에서 전달할 수있게하는 CursorAdapter입니다. ListView에는 거의 항상 일종의 어댑터가 있습니다.
어댑터는 AdapterView
해당보기의 기본 데이터와 기본 데이터 사이의 브릿지 역할을합니다 . 어댑터는 데이터 항목에 대한 액세스를 제공하며 데이터 세트의 각 항목에 대한보기를 작성합니다.
어댑터는 View
일종의 데이터 소스와 연결하는 현명한 방법 입니다. 일반적으로 사용자의 관점은 a ListView
이고 데이터는 Cursor
또는 형식입니다 Array
. 따라서 어댑터는 CursorAdapter
또는의 서브 클래스로 제공됩니다 ArrayAdapter
.
어댑터는 데이터 모델을 관리하고 목록보기의 개별 행에 맞게 조정합니다. BaseAdapter
수업을 연장합니다 .
목록보기의 모든 줄은 원하는만큼 복잡한 레이아웃으로 구성됩니다. 목록보기의 일반적인 줄은 왼쪽에 이미지가 있고 가운데에 두 개의 텍스트 줄이 있습니다.
어댑터 란 무엇입니까?
Adapters are the link between a set of data and the AdapterView
that displays the data.
AdapterView
AdapterViews
are ViewGroups
that display child views given to it by an adapter. An example of an AdapterView
is a ListView
.
Adapters also provide the child views that display the data in the AdapterView
. Adapters are responsible for supplying the data and creating the views representing each item.
Adapters get the data and pass it, along with a child view, to the parent AdapterView
which displays the child view and the data
Adapter is simply used to achieve the listview concept. Not only for displaying the list of data but also the some custom view. Suppose customer wants to use the list which has more number of textview (any other view) then , we have to use Adapter view in Android.
There are already given multiple answer,But I want to give a different answer.
Adapter means you can that Its bridge provider.
Adapters are the link between a set of data and the AdapterView that displays the data.
At the end, adapters are very useful to do a report. If one wants to show a report of some information, one can use this tool to show the data on the view.
참고URL : https://stackoverflow.com/questions/3674951/whats-the-role-of-adapters-in-android
'Programming' 카테고리의 다른 글
wix 'KeyPath'속성은 무엇입니까? (0) | 2020.07.17 |
---|---|
로그인 페이지로 리디렉션 할 때 올바른 HTTP 상태 코드는 무엇입니까? (0) | 2020.07.17 |
Maven 종속성을 확인할 수 없습니다, 아티팩트를 해결할 수 없습니다 (0) | 2020.07.17 |
SQL-다 대다 테이블 기본 키 (0) | 2020.07.17 |
Kubernetes는 실제로 무엇을합니까? (0) | 2020.07.17 |