2013-01-15 3 views
2

현재 뒤로 버튼과 관련된 가장 좋은 방법은 무엇입니까?활동 스택을로드하는 Android, 뒤로 버튼

많은 앱이 열어서 (onStop 및 onDestroyed를 수행 한 후) 전체 활동 스택을 저장하고 복원하며, 예를 들어 페이스 북을 열고 열 때 마지막 작업 영역이 사진에 있었을 때를 누릅니다. 백은 페이스 북 앱을 닫지 않는다. 앱을 개봉 할 때 가장 먼저했던 일까지 무한히 뒤로 돌아 간다.

이 디자인 규칙은 뒤로 버튼이 수행 할 것으로 예상되는 것과 약간 다릅니다. 일반적으로 앱을 종료하거나 기본보기를 중지하여 기기의 실행기 화면으로 돌아갑니다.

페이스 북은이 일을하는 앱의 한 예일뿐입니다.

Google I/O와 같은이 기능의 유틸리티 (활동 스택 복원 및 그 뒤를 횡단하는 버튼 포함)에 대해 논의하는 개발자 문서 또는 다른 기능과 다른 기능 (사용자가 앱을 다시 가져 오는 뷰를 종료) ? 그렇다면 여기에서 토론하고 링크하십시오. 뒤로 버튼을 올바로 사용하고 잘못 사용했기 때문에 이것이 너무 주관적이지 않기를 바랍니다.

+0

아무도 모릅니다! :) 구글이 모든 사람들을 따르도록하는 가이드 라인이 있다고하더라도 그들이 생각하는 것이 최선이라고 생각합니다. 모두를 혼란스럽게합니다 ... – pumpkee

답변

2

Android의 기본적인 기본 동작은 Facebook 앱이 실제로하는 것입니다. 그 응용 프로그램은 그 행동과 관련하여 특별한 일을하지 않습니다. 활동 스택은 기본적으로 저장됩니다.

더 많은 인용 블로그 중 하나는 CommonsWare's BACK means Back입니다. 기본적으로 "뒤로"버튼의 기능은 방금 전에 있던 이전 페이지로 이동해야 함을 의미합니다. Android에서는 방금 마지막으로 푸시 한 마지막 활동 인 경우가 많습니다. 사용자가 앱을 나가기를 원할 경우 "HOME"버튼을 누르면 항상이 활동 스택을 누르고 홈 화면으로 이동합니다.

이 의미는 BACK 버튼의 기능은 해당 앱에 전적으로 달려 있지만 개념은 사용자가 수행 한 작업을 되돌리기위한 것입니다. 게임 중일 때는 하위 메뉴로, 뒤로 버튼을 누르면 최상위 메뉴로 이동합니다. 브라우저를 사용하는 경우 뒤로 단추를 사용하면 마지막으로 본 웹 페이지로 이동할 수 있습니다. 브라우저를 사용 중이고 맨 위 페이지에있는 경우 사용자는 브라우저를 열기 전에 마지막으로 수행 한 작업으로 앱이 열리기 때문에 BACK 버튼을 누르면 앱을 닫을 수 있습니다. 사용자가 다운로드를 시작하면 뒤로 버튼이이를 취소 할 수 있습니다.

Facebook 및 다른 사람들이 좋아할 수있는 기능 향상 중 하나는 x 일 후에 스택을 지우는 것입니다. 사용자가 마지막 사용으로 인해 중단 된 이후에했던 일을 정확히 기억하지 못할 수 있기 때문입니다. 이 경우의 사용 사례는 매우 작습니다.

전반적으로 사람들은 항상 사용성 테스트를 강조합니다. 뒤로 버튼을 누를 때 예상되는 사람들의 99 %를 알아 내야합니다.

+0

+1 펀치에 나를 때리고 (그리고 안드로이드 Dev 사이트보다 Back Behavior에 대한 또 다른 소스가 있습니다). – Sababado

0

내 개인적인 경험으로는 이전 화면으로 돌아가려면 다시 누르면됩니다. 뒤로 버튼을 길게 누르십시오.
가장 좋은 예는 브라우저 앱 (기본 브라우저 또는 타사 브라우저 중 하나)

+0

나는 실제로 이것을 보지 못했지만 그것에 대해서도 알지 못했습니다 – CQM

2

Android 개발자 사이트에서 뒤로 버튼의 예상되는 동작을 변경하면 안됩니다. OS가 뒤로 버튼을 처리하게하십시오.

응용 프로그램은 시스템 아이콘의 예상 기능 (예 : 뒤로 버튼)을 다시 정의하지 않습니다.

견적은 코어 응용 프로그램 Quality page에서 가져옵니다.

위로 탐색 사용을 고려해야합니다. here의 디자인에 대해 자세히 알아볼 수 있습니다.

마지막으로 여기에는 다양한 유형의 탐색 (측면, 조상 [위로], 시간적, 자손)을 구현하는 방법에 대한 자습서가 있습니다. check here

+1

재미있는 것은 얼마나 자주 Google이 해당 가이드 라인을 무시하는지입니다. – DeeV

+1

위로 이동하는 경우에도 뒤로 버튼의 기능을 재정의해야하는 경우가있을 수 있습니다. 예를 들어 Chrome 모바일은 웹 페이지를 볼 때 뒤로 버튼을 무시합니다. 사용자가 실제로 페이지를 다시 방문 할 때 앱이 닫히지 않기 때문입니다. – DeeV

+0

그리고 그 경우에는 완전히 오버라이드하는 것이 타당합니다. 내 대답은 (당신 것보다) 말해야 할 것입니다. 뒤로 버튼은 사용자를 예상 장소로 되돌려 보내야한다는 것입니다. 기본 동작이 해당 동작을 수행하지 못하면 무시하고 제대로 작동하는지 확인하십시오! 나의 목적은 대개 (있을 경우) 많은 것을 요구하지 않는다. – Sababado

0

응용 프로그램 논리에 따라 동작이 달라집니다. 기본적으로 이전 화면으로 이동하는 것이 좋습니다 (백 스택의 활동 또는 프래그먼트의 백 스택에 저장된 경우 프래그먼트). 사실이 경우에는 은색 글 머리 기호가 없습니다. 그냥 "백 프레스 구현"을 사용하십시오. 내 요점은 다시 누를 때 응용 프로그램이 이전 논리 상태로 표시되어야한다는 것입니다.