2012-01-24 5 views
2

코드 재사용, 프로그래밍/이해의 용이성, 성능 및 메모리와 관련하여 안드로이드에 대한 "우수 사례"를 수립하고자합니다. 알다시피, 좋은 코드 만 있으면됩니다.내부 클래스의 액티비티 또는 독립 실행 형 클래스의 어댑터입니까?

많은 안드로이드 문서와 객체 디자인이 많은 내부 클래스를 가지고있는 것처럼 보입니다. AsyncTask는 뷰에 데이터를로드하는 것을 좋아합니다. 어댑터는 LayoutInflator에 액세스 할 수 있습니다.

코드 재사용 관점에서 문제를 해결하는 몇 가지 어댑터 또는 AsyncTasks를 빌드하고 필요에 따라 다시 사용할 수 있습니다. 이것은 당신의 컨텍스트를 돌아 다니는 것을 의미합니다. 이것은 더럽다고 느끼며 조심스럽게하지 않으면 기억 함정을 초래할 수 있습니다. 다른 옵션은 활동이 활동에 직접 필요로하는 모든 비동기 태스크 및 어댑터를 베이킹하는 것입니다. 이렇게하면 코드를 재사용하기가 어려워 지지만 상황이 쉽게 진행되는 곳을 볼 수 있으며 컨텍스트를 직접 사용하기 때문에 사물을 영원히 붙잡기가 더 어려워집니다.

나는 미래에 고용 할 프로그래머에게 익숙한 코드를 작성하는 것에 대해서도 우려하고 있습니다.

Android의 코딩 표준은 무엇입니까? 웹에서 거의 모든 데이터를로드해야하는 애플리케이션을위한 "최상의 디자인"은 무엇이며 휴대 전화와 태블릿 (각기 다른 활동이 있음)에서 작동하는 UI를 보유하고 수년 동안 쉽게 작업하고 연장 할 수 있어야합니다 올까?

답변

1

this에서 안드로이드 코딩 방법을 확인하십시오.

그리고 내부 클래스를 사용하거나 필요에 따라 seprate 클래스를 만들 수 있습니다. 예를 들어 json 형식의 웹에서 모든 데이터를로드 할 때 항상 정적 메서드를 사용하는 seprate 클래스를 사용하여 jsonObject을 반환하고 내 앱에서이 메서드를 호출하고 데이터를 추출 할 수 있습니다. 또한 listview에 데이터를 로딩하고로드하는 것과 같은 내 활동에서 다른 작업 인 asyncTask의 단일 내부 클래스를 사용하여 사용자가 데이터를로드 할 때 변경 사항을 미리 지정합니다. 사용자 지정 어댑터에서 항상 다른 클래스를 선호합니다. 정말 그들과 일하기가 쉽습니다. 도움이되기를 바랍니다.

0

나는 이것을 이전에 물어 봤는데, 이것이 내가하는 방법이다.

여러 번 어댑터를 사용하려면 모든 어댑터를 "com.myapp.adapters"패키지에 넣으십시오. AsyncTask에 대해서는 항상 활동의 일부로 asynctasks를 사용합니다.

활동에서 약간의 작업을 수행하는 어댑터가 짧은 경우에는 별도의 클래스 파일을 만들 필요가 없습니다. 그것을 활동에 집어 넣으십시오.