2012-12-11 2 views
0

나는 안드로이드 앱을 만들고 있습니다. 그것은 내가 만든 첫 번째 "실제"android 앱이며 Java에도 익숙하지 않습니다. 나는 OOP로 어떤 프로그램도 만들지 않았다. 그래서 나는 사물의 구조와 약간 혼동한다. 나는 약간의 PHP 경험이 있지만 초기에는 절차 적 (터보 파스칼) 인 인라인 프로그래밍으로 배웠다. - 이것은 내가 가지고있는 실제 안드로이드 응용 프로그램을 제어하기위한 활동이다자바 코드를 올바르게 구조화하는 방법은 무엇입니까?

  1. 주요 활동 :

    어쨌든 ... 여기 상황이다.

    public ScoreClock // initialize all the fields(variables) within the ScoreClock class. 
    public getMinutes(long ms) // take ms remaining and calculate minutes left. 
    public getSeconds(long ms) // take ms remaining and calculate seconds left. 
    
  2. 이제

... 난 public void updateBoard()을 추가 생각하고 실제 점수 판에 모든 값을 갱신 할 것이다 : -

  • 클래스 ScoreClock 내가 다음과 같은 방법을 가지고있는 곳이다 . 내가 헷갈리는 부분은 ... UpdateBoard() 메소드가 MainActivity.java 파일이나 ScoreClock.java 파일에 있어야 하는가?

    updateBoard 메서드는 안드로이드 필드/변수에 액세스하고 TextViews 값을 변경하므로 MainActivity.java에 배치해야한다고 생각합니다.

    누군가 명확히 할 수 있습니까?

  • 답변

    0

    UI 요소를 업데이트하는 모든 코드가 활동 또는보기 자체에 포함됩니다. POJO에서 액세스 할 수 없습니다. 너처럼 많은 사람들이 게임을 만들려고하는 것처럼 들린다. 먼저 Java를 배우고 안드로이드를 배우고 나서 게임을 만들 것을 제안합니다. 게임만큼 복잡한 것으로 시작하지 마십시오.

    +0

    게임을 만들지 않습니다. 실제로 앱 자체는 아주 간단합니다. 농구 스코어 보드 앱입니다. 그래서 점수를 클릭하면 증가합니다. 누르고 있으면 값을 재설정 할 수 있습니다. 시계는 8 분에서 0 초로 카운트 다운되며 완료되면 윙윙 거리며 울립니다. –

    +1

    [CountDownTimer] (http://developer.android.com/reference/android/os/CountDownTimer.html) 클래스를 사용하는 것이 더 간단 할 수도 있습니다. 그것은 당신이 UI를 업데이 트하는 데 사용할 수있는 콜백을 가지고, 그리고 당신은 단지 점수를 처리 할 수 ​​있습니다. 당신은 하나의 활동으로하고 다른 수업은 할 수 있어야합니다. – toadzky

    0

    시작하기 좋은 곳은 다이어그램입니다.

    당신의 질문에 주어진 정보에서 당신의 활동 클래스가 꽤 길고 복잡하다고 상상해 봅니다. 당신이 게임 보드를 가지고 있다고 생각합니다. 그것은 리팩토링을위한 잠재적 인 아이템처럼 들립니다.

    http://www.headfirstlabs.com/books/hfdp/ 최상의 디자인 가이드가 아니지만 훌륭한 입문 정보와 도움을줍니다.

    0

    나는 너가 조금 앞서서 시작 했으니 까. 어쨌든, 귀하의 질문에 - updateBoard() 메서드는 ScoreClock 클래스에 있으면 안되며,이 경우 컨트롤러를 재생하는 Activity 클래스에 있어야합니다.

    +0

    저는 MVC 아키텍처에 익숙하지만 OOP/MVC와 관련된 PHP 스크립트를 통해 해킹했을뿐입니다. 따라서 처음부터 어떻게 설정해야할지 잘 모르겠습니다. –

    +1

    이 링크를 살펴 보면 다음과 같은 몇 가지 사항이 삭제 될 수 있습니다. http://mindtherobot.com/blog/675/android-architecture-message-based-mvc/ –

    관련 문제