2012-09-03 5 views
1

나는 안드로이드 프로그래밍에 새로운, 지금까지 한 애플 리케이션 않았다. 그것이 완료되면, 나는 안드로이드 응용 프로그램의 아키텍처에 대해 생각하기 시작합니다. 내 응용 프로그램에서android - 애플리케이션 아키텍처 무엇이 최고인가?

, 나는이 하나가 작동 레이아웃보기를 추가 컨트롤러 유사한 setContentViewActivity 사용하고 다른보기로 전환 할 때, 일반적으로 나는 같은 Activity 다른 활동, 또는 ViewFlipper 또는 다중보기를 사용합니다 setContentView 방법을 사용하여 전환하십시오. 레이아웃 XML

Controller 클래스, 활동에서 독립 그것 때문에 -

컨트롤러

보기

활동 - 지금은 생각하고

은 좋은이 일이 아키텍처를 변경하는 것입니다 이렇게 될거야 -

class Controller { 

    public View view; 

    ..... 

    // logic to deal with view operation 
    public void init() 
    { 
    } 
} 

활동은 다음과 같이 될 것입니다 -

class MyActivity extends Activity { 

    ControllerOne c0 = null; 
    ControllerTwo c1 = null; 

    ..... 

    protected void switchView (Controller c) 
    { 
     setContentView (c.view); 
     c.init(); // or something else to restore states of this controller 
    } 
} 

나는이 하나가 안드로이드 응용 프로그램 아키텍처에 대한 좋은, 또는 안드로이드 응용 프로그램 아키텍처에 대한 좋은 아이디어가 있는지 몰라? 감사.

+0

MVP는 안드로이드에 대한 더 나은 구조이며, 뷰와 액티비티가 독립적 일 수는 없기를 바랍니다. –

+0

활동이 많은 리소스를 소비하고 있다고 생각하기 때문에 수량을 줄일 수 있습니다. – Tom

답변

1

Android의 MVC 아키텍처를 무시하는 것이 좋습니다. 활동 클래스는 컨트롤러 역할을합니다. 하지만 액티비티에 컨트롤러가 두 개 이상 사용되는 것과 같은 것을 얻으려면 Android의 Fragments이 표시되어야합니다.

+0

감사합니다. 어떤 질문이라도 나중에 묻습니다. – Tom

관련 문제