기록저장 블로그

안드로이드 MVP 무작정 따라하기 - 1 본문

코딩/안드로이드

안드로이드 MVP 무작정 따라하기 - 1

코딩하는 히라미 2017. 7. 3. 15:22
  1. Presenter


  • MainPresenter.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
publicclassMainPresenter {
 
    //보여주는곳
    publicinterfacview {
        voidButtonClick(); //버튼 클릭시
    }
 
    //기능작동
    interfacepresenter {
        StringshowMsg(); //토스트 메세지 보여주기
        StringsetMsg(); //토스트 메세지 내용 설정
    }
 
 
}


  • ButtonService.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public class ButtonService implements MainPresenter.presenter {
 
    privateButtonClick buttonClick;
 
    publicButtonService(ButtonClick buttonClick) {
        thi.buttonClick=buttonClick;
    }
 
 
    @Override
    publicStringshowMsg() {
        returnsetMsg();
    }
 
    @Override
    publicStringsetMsg() {
        buttonClick=newButtonClick("Hello MVP!");
        returnbuttonClick.getMsg();
    }
}


  1. Model


  • ButtonClick.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
publicclassButtonClick {
 
    privateString msg;
 
    public ButtonClick(String msg) {
        this.msg=msg;
    }
 
    publicStringgetMsg() {
        returnmsg;
    }
 
    publicvoidsetMsg(String msg) {
        this.msg=msg;
    }
}
 


  1. Activity


  • MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
publicclassMainActivityextendsAppCompatActivityimplementsMainPresenter.view {
 
    publicButtonService buttonService;
    publicButtonClick buttonClick;
 
    publicButton button;
 
    @Override
   protectedvoidonCreate(Bundle savedInstanceState) {

      super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        buttonService=newButtonService(buttonClick);
 
        button=(Button) findViewById(R.id.button);
        button.setOnClickListener(new View.OnClickListener() {
         @Override
            publicvoidonClick(View view) {
                ButtonClick();
            }
        });
    }
 
    @Override
  publicvoidButtonClick() {
        Toast.makeText(this, buttonService.showMsg(), Toast.LENGTH_SHORT).show();
    }
}


  1. 출력화면








'코딩 > 안드로이드' 카테고리의 다른 글

안드로이드 Intent 값 넘기기  (0) 2017.07.03
Comments