간단한 객관식 퀴즈에 대해 가장 효율적이고 견고한 객체 지향 디자인이라고 생각하는 것을 듣고 싶습니다.디자인 팸플릿 : 복수 선택 퀴즈
기본적으로 앱은 각각 4 가지 선택 사항과 함께 일련의 질문을 제시합니다. 선택한 선택이 맞다면 새로운 활동에 정답 뒤에 정확한 내용과 축하가 표시되며, 틀린 것이 있으면 세부 사항 등과 함께 잘못 이해했다고 말할 수 있습니다.
즉, 사용자는 다음 질문으로갑니다. 새로운 질문마다 지금까지 점수를 볼 수 있습니다. 어쩌면 각 정답마다 50 점을 얻을 수 있습니다.
다음은 구현 방법에 대한 설명입니다. 일부 라디오 버튼 또는 답변 선택에 사용할 수있는 다른 위젯으로 맞춤보기를 만듭니다. 커스텀 뷰는 Question 객체를 취하는데, 이것은 단지 오래된 자바 객체이며, 선택 사항 1-4를위한 필드가있다. 그런 다음 사용자 정의보기에서 radiobuttons의 텍스트를 내 Question 객체의 선택 항목으로 설정할 수 있습니다. 그래서에서
내 activity
이 ..
를 사용하여 내 사용자 정의보기 질문을 다음 Question myQuestion = new Question("string for choice 1", "string for choice 2"...)
과 같은 것을 보일 것이다. QuestionView myView = new QuestionView(this, myQuestion);
오케이 너무 좋습니다. 나는 곤경에 빠질 지 모르겠다. 하나는 모든 질문 활동에서 점수를 추적해야합니다. 그것은 내 질문에 모두 서브 클래스 중 일부를, 대부분은 비어 있습니다. activity
사용자가 답변을 얻을 때마다 증가하는 카운터를 가질 수 있습니다 (즉, 내 슈퍼 클래스 액티비티 int scoreKeeper;
및 각 하위 클래스 이 활동 : if(choiceIsCorrect) scoreKeeper++
). 이렇게하면 점수가 활동 전체에서 지속될 수 있습니다. 나는 새로운 액티비티를 지나가고 여분의 액티비티마다 액티비티 점수를 매길 수 있다는 것을 알았습니다. 그리고 간단히 액티비티에 추가했습니다. 그러나 그것은 나에게 의미가있는 것처럼 보입니다.
내 모든 질문에 대해 사과드립니다.하지만 내 질문은 다음과 같습니다. 가장 간단한 디자인은 무엇이라고 생각하십니까? 또한 일반적으로 필자는 항상 Android 패러다임이 강조하는 것처럼 사용자가 '집중된 단일 활동'을 할 때마다 항상 새로운 활동을 사용해야한다고 항상 생각했습니다. 그러나 때로는 너무 많은 활동을 일으키는 것이 이상하게 느껴집니다. "이상하게 느껴진다"는 사실을 알지 못합니다. 단순히 활동을 재사용하는 것이 타당하지 않습니다. (예를 들어,이 경우에는 내 활동에서 새 질문을 교환하고 이에 따라 UI를 업데이트하는 것) 새로운 활동을 시작하는 것과 반대?
더 자세한 질문 - 어떤 선택 사항 (예 : 라디오 버튼)이 정답을 포함 하는지를 설정하는 매끄러운 방법은 무엇이겠습니까? 사용자가 제출을 누르면 내가 올바른 대답과 예를 확인할 수 있습니다./아니오 그럼 반응합니까?
은 요약하면 :
객관식 질문 활동의 연속을 만들 수있는 간단한 객체 지향 방법은 무엇- ?
- 점수를 추적하는 가장 현명한 방법은 무엇입니까?
- 각 질문은 필연적으로 별도의 활동이되어야합니까? (그리고 일반적으로 어떻게하면 별도의 활동이되어야하는지에 대한 질문에 어떻게 접근합니까?)
- 특정 종류의 : 또한 어떤 선택이 올바른 것인지 플래그를 표시하는 가장 쉬운 방법은 무엇입니까? 사용자의 권리가 있는지 확인할 수 있습니까?예를 들어 라디오 버튼을 사용하면 onCheckedChangeListener를 사용하여 현재 선택되어있는 라디오 버튼을 검색 할 수 있지만 사용자 디자인이 올바른지 여부를 확인하기 위해 내 디자인에서이를 사용하는 방법을 잘 모르겠습니다.
감사합니다.
아니요.이 클래스는 어떤 클래스도 아닙니다. 디자인 패턴에 대한 경험이 많은 사람들로부터 조언을 구하십시오. 나는 그것을 "끝낼 수있다"는 것을 알고 있지만 더 나은 접근 방법이 있는지 알고 싶습니다. – LuxuryMode