1

enter image description here내 앱을 어떻게 구성해야합니까?

내 안드로이드 앱은 현재 4 개의 탭이있는 TabActivity를 사용합니다. 또한 네 개의 탭으로 이동하는 더 쉬운 방법을 제공하는 타사 탐색 창을 사용합니다. 왜 우리가 탭을 가지고있을 때 항법 서랍을 가지고 있는지 알아? 이것은 내 조직이 원했던 것입니다. 앱은 현재 현재 태블릿을 지원하지 않습니다.

이제 우리의 앱을 처음부터 다시 할 시간입니다. 이번에는 태블릿에 대한 지원도 추가해야합니다. 나는 구글과 조각에 의해 제공되는 새로운 네비게이션 서랍을보고 있었다. TabActivity가 더 이상 사용되지 않으므로 더 이상 사용하지 않으려하고 대신 Google이 조각을 사용하도록 제안합니다. 탐색 서랍 및 파편과 같은 Google에서 제공하는 도구는 정말 강력한 도구이지만 내 앱을 구조화하는 데 어려움을 겪고 있습니다.

앱에는 네 개의 기본 탭이 있습니다.이 탭에는 모두 탐색 서랍이 있어야합니다. 그러나이 기능은 일반적인 탐색 창이어야하며,이 네비게이션에 표시된 항목에는이 네 가지 디스플레이로 이동하는 링크가 포함되어있을뿐만 아니라 다른 기능도 추가됩니다.

첨부 된 이미지에서 알 수 있듯이 4 개의 탭 중 3 개가 ListActivity에서 직접 시작됩니다. 그들 모두는 서로 다른 정보를 보유하고 사용자는 한 활동에서 다른 활동으로 갈 수 있어야하기 때문에 3 가지 활동이 필요합니다.

사용자가 목록에서 항목을 클릭하면 상세보기 (세부 활동)로 이동합니다. 이 세부 활동에는 부모 활동 (ListActivity)과 동일한 탐색 창이 있어야합니다. 그 위에,이보기는 탐색 창에 4 개의 새로운 동작을 추가합니다. 이보기에는 오른쪽에서 왼쪽으로 열리는 서랍이 있어야합니다.

사용자가 네 개의 탭 모두를 탐색하여 상세보기 (세부 활동)에있는 경우 사용자는 listActivity에서 클릭 한 항목에 따라 다른 데이터를 볼 수 있어야합니다.

나는이 작업을 탐색 창을 포함하는 추상 기본 활동 클래스를 사용하여 수행하고 모든 활동에서 사용하게 될 것이라고 생각했습니다. 마스터/세부 흐름 패턴을 사용하여 전화와 태블릿 모두에서 작동하도록했습니다. 그러나 탐색 창을 사용하기 위해 기본 활동을 확장 할 수 없다는 사실을 알게 된 후이 계획은 중단되었습니다.

이 시점에서, 나는 무엇을 해야할지에 대해 분실했습니다. 어떤 제안이라도 대단히 감사하겠습니다.

답변

0

잘못된 생각입니다. 앱을 구조화하는 방식은 사전 파편 기반 (모든 화면에 대한 활동)입니다. 대신 새로운 상호 작용 흐름이있는 경우에만 새로운 활동을 만들어야합니다 (나는 당신이 묘사 한 것을 전혀 눈치 채지 못했습니다). 따라서 기본적으로 각 화면에 조각을 사용하여 가능한 한 추상적으로 만들어 재사용 할 수 있습니다. 이 경우에는 하나의 활동 만 있고 단순히 조각을 교환하는 것입니다. 이렇게하면 균일 한 탐색 서랍을 훨씬 쉽게 구현할 수 있습니다 (그리고 실제로는이를 수행해야하는 유일한 방법입니다).

희망은 도움이됩니다. 처음 파편으로 전환했을 때 혼란 스러웠지만 기억이 쉬워졌습니다. 특히 휴대 전화와 태블릿을 개발할 때 더욱 편리합니다.

+1

그래서 왼쪽 탐색과 오른쪽 탐색 탐색기를 모두 포함하는 1 개의 활동이 있어야하며 목록 조각 또는 세부 조각이 필요한지에 따라 하나의 조각을 계속 교체해야합니다. 세부 조각이 보이면 오른쪽 탐색 서랍을 보여 주어야합니다. 그렇지 않으면 내가해야합니다. 이게 당신이 제안하는 것입니까? 그렇다면 태블릿 용 앱 관리를 어떻게 권장 하시겠습니까? 파편이 어떻게 유용 할 지 알 수 있지만, 지금 모든 것을 시각화하는 것은 매우 어렵습니다. – fallen

+0

맞습니다. 네비게이션 서랍을 사용하기 위해 일부 유형의 라이브러리를 사용하는 것이 좋습니다. 그래야 활성화 된 라이브러리를 더 쉽게 전환 할 수 있습니다. 태블릿 호환성과 관련하여 태블릿 용 앱을 조정하는 방법을 생각하지 말고 대신 사용자 인터페이스를 전화 인터페이스가없는 것처럼 재 설계하십시오. 그런 다음 전화 레이아웃에서 재사용 할 수있는 부분을 찾아서 조각으로 사용하십시오. –