2015-01-20 4 views
0

API 또는 데이터 소스에서 데이터를 모델링하기 위해 POJO 또는 DTO를 사용하는 것이 일반적입니다. 이러한 모델의 경우 serialization/de-serialization 논리를 올바르게 작성하거나 gson과 같은 라이브러리를 사용하여 동일한 작업을 수행해야합니다.
이미 조각과 작업 사이의 데이터를 전달하는 데 사용 중이므로 번들을 android에서 사용할 수 있는지 궁금합니다. 기본적으로 Bundle은 해시 맵에 대한 래퍼이므로 데이터를 넣거나 가져올 수 있습니다.Android : 안드로이드 번들을 사용해야합니다.

안드로이드 앱에서 DTO로 번들을 사용하는 것이 좋습니다. 이 접근법의 장점/단점은 무엇입니까?

답변

0

Is it a good practice to use Bundles as the DTO in your android app?

아니, 아니에요. Bundlefinal class이므로 문제 영역에 대한 재사용 코드를 적용하기 위해 자신의 분류 체계를 확장하지 못할 수도 있습니다.

What are the advantages/disadvantages of this approach?

  • 장점 :

    • 내장 된 대신 일반 Serializable (빠른 직렬화)의 Parcelable를 구현 안드로이드 객체입니다.
  • Disavantages :

    • 는 그것은 final class입니다.

    • 내부 데이터를 처리하는 방법에 대한 제어력이나 결정권이 없습니다.

    • 데이터 유형 제한.

    • 불투명 추상화.

    • 확장 불가능.

    • 활동 또는 서비스 간의 의사 소통의 의미. 따라서 필요하다면 수명주기를 제어하거나 참조를 관리하지 못할 수도 있습니다.

+0

고맙습니다 이것은 매우 도움이됩니다 – user4475307

+0

저는이 접근법에 현재 직면하고있는 한 가지 문제는 디버깅이 매우 어렵 기 때문에 언제든지 객체 내부에 어떤 데이터가 있는지 전혀 알지 못한다는 것입니다 – user4475307

0

Bundle은 본질적으로 HashMap입니다. 또한 Bundle에 큰 크기의 데이터를 넣지 않으려면 BundleIntent 데이터로 사용하는 경우 열기가 상당히 느려지므로 Activities을 입력해야합니다.

HashMap 그 자체는 낮은 수준의 데이터 추상화입니다. HashMap 주위에 DTO를 만들 수도 있지만 구현 세부 사항입니다.