2016-09-17 10 views
0

stackoverflow와 google에서 많은 질문을 확인했지만이 문제에 대한 해결책을 찾을 수 없었습니다.안드로이드에서 전달 된 parcelable 데이터를 xml 레이아웃에 표시합니다.

안드로이드에서 여러 데이터로 parcelable을 사용하는 방법과 루프를 통해 xml 레이아웃에 전달되고 표시되는 방법을 샘플 코드에 게시하고 설명 할 수 있습니까?

예. 레스토랑 액티비티의 경우 레스토랑 메뉴 액티비티에 다음 항목을 전달하여 표시합니다.

  1. 레스토랑 이름
  2. 레스토랑 주소
  3. 식당 메뉴 카테고리 ("아메리칸 조식")
    • 아메리칸 조식 1, 아메리칸 조식 2, 아메리칸 조식 3 ...
  4. 식당 메뉴 카테고리 ("와플")
    • 와플 1 와플 2,

      그래서 카테고리와 식품이 계속 와플 3 등 ...

...

감사합니다!

답변

0

그것은 자동으로 parcelable POJO를 생성하는 방법을 보여줍니다 링크 When and how to implement Parcelable Vs. Serializable?

을 확인하시기 바랍니다.

는이 도움이

Intent i = getIntent(); 
MyParcelable myParcelableObject = (MyParcelable) i.getParcelableExtra("name_of_extra"); 

희망

Intent i = new Intent(fromActivity,toActivity); 
i.putExtra("name_of_extra", (Parcelable) myParcelableObject); 
startActivity(i); 

에 따라 그리고 당신의 식당 메뉴의 활동에 않는 식당 메뉴의 활동에 데이터를 전달합니다.

0

Parcelable을 사용하면 아키텍처 측면에서 올바른 접근 방식이 아닌 것 같습니다. 이러한 레스토랑 데이터는 SQLite DB의 테이블에 저장해야합니다. 데이터 구조 (데이터 모델)는 이러한 앱의 핵심이며, DB 스키마를 먼저 설계해야합니다. 그런 다음 활동 /보기를 사용하여 해당 데이터를 표시하고 새 데이터를 입력해야합니다.

DB는 엔티티를 테이블 (데이터 모델)로 유지할 것이고 엔티티 (예 : 레스토랑 메뉴)와 작동해야 할 경우 해당 엔티티의 ID를 보내야합니다.이 경우 엔 텐트를 통해이 가능성이 높습니다. 하나의 정수, 엔티티의 모든 속성을 소포 할 필요가 없음 - 실행중인 활동에서 Intent의 추가 항목에서 ID를 가져오고 해당 ID를 사용하여 활동이 SQLite DB에서 엔티티의 속성을 검색하고 적절한보기에 값을 저장합니다. 평범한 일상.

많은 레코드를 표시해야하는 경우 Adapter을 사용합니다. 그 목적은 소스 테이블의 데이터를 뷰에 맵핑하는 것입니다 (특히, 서브 뷰가있는 뷰에 DB에서 레코드를 렌더링하는 방법). 그 기록을 나타냅니다. Google은 어댑터에 대한 자습서로 화면에 표가있을 때 거의 항상 사용됩니다.

편집을 할 - 당신은 여기 가이드를 읽어 안드로이드의 ListView 제어 볼 필요가 : http://www.vogella.com/tutorials/AndroidListView/article.html

표는 아이폰 OS에서 사용되는, 내 실수를.