[안드로이드/Android] 안드로이드 어댑터 사용과 관련해 주의할 점

Posted by 앱해피
2015. 8. 31. 12:26 안드로이드 스튜디오

먼저, 안드로이드의 어댑터 관련 기능을 구현하는 과정에서 여러 가지 문제점을 느꼈다.

 

개발자의 필요에 맞게 변경하는 과정에서 사용 방법의 모호함도 있었으며 개발자

 

문서에서도 명확하게 그와 관련된 사실을 언급하고 있지 않기 때문이었다.

 

뷰와 관련된 데이터를 처리하면서 일관성 있는 결과를 얻기 위해 내가 얻은 깨달음은 다음과 같았다.

 

 

 

 

 

1) 표현할 데이터와 관련된 모든 변화는 AsyncTask를 사용해야 한다는 것이다.

 

AsyncTask를 사용하면 UI 스레드를 이용해서 원하는 변화를 만들어 낼 수 있었고 동시에 병행 제어와

 

관련된 문제도 피할 수 있었다.

 

 

2) 데이터 구조와 관련된 모든 연산 기능은 어댑터의 메소드로 처리해야 한다는 것이다.

 

ListAdapter를 사용한다면 add, remove 그리고 clear 등이 어댑터의 메소드에 해당한다.

 

이 사실은 사용자가 직접 정의한 어댑터를 만들어야 한다는 것과 직결될 수 있다.

(기본으로 제공되는 어댑터는 사용할 수 있는 메소드의 수가 제한되어 있으므로...)

 

즉, 사용자가 정의한 어댑터에 필요한 메소드들도 같이 정의하여 데이터를 일관성 있게 관리해야 한다.

 

 

3) 이전까지 데이터 관리에 필요한 메소드를 어댑터에 정의하여 사용하지 않고, 외부에 데이터를 관리하는 메소드를 정의했다. 하지만 이 방식은

 

때때로 예기치 못한 문제를 발생하는 경우가 많았고 이제는 어댑터를 이용해서 모든 데이터를 관리하고 있다.