Nuke Olaf - Log Store
[MVP] 안드로이드에 mvp 패턴 적용하기(5) - Activity 에 View 구현 본문
ComputerScience/[디자인 패턴]
[MVP] 안드로이드에 mvp 패턴 적용하기(5) - Activity 에 View 구현
NukeOlaf 2020. 3. 10. 05:51<안드로이드에 mvp 패턴 적용하기 시리즈>
안드로이드에 mvp 패턴 적용하기(1) mvp 패턴이란?
안드로이드에 mvp 패턴 적용하기(2) Contract 작성
안드로이드에 mvp 패턴 적용하기(3) Model 정의
안드로이드에 mvp 패턴 적용하기(4) Presenter 만들기
안드로이드에 mvp 패턴 적용하기(5) Activity 에 View 구현
이제 Model 과 Presenter 를 만들었으니, View 를 만들고 Presenter 를 통해 View 와 Model 을 연결해 주도록 하자.
View 를 구현하는 방법은 간단하다.
Activity 에 전에 정의해두었던 Contract.View 인터페이스를 implement 하여 View 관련 함수들을 작성해주면 된다.
그 다음, MainActivity 의 onCreate 에서 버튼에 클릭 리스너를 달아주거나, presenter 를 통해 초기화를 시켜주는 코드를 작성한다.
class MainActivity : AppCompatActivity(), Contract.View{
private lateinit var presenter: Presenter
private lateinit var repository: InfoRepository
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
repository = InfoRepository(this)
presenter = Presenter(this@MainActivity, repository)
presenter.initInfo()
initButtonListener()
}
override fun showInfo(info: JSONObject) {
name_output.text = info.getString("name")
email_output.text = info.getString("email")
}
fun initButtonListener() {
button_submit.setOnClickListener {
var info = JSONObject()
info.put("name", name_input.text.toString())
info.put("email", email_input.text.toString())
name_input.text.clear()
email_input.text.clear()
presenter.setInfo(info)
presenter.saveInfo(info)
}
}
}
이렇게 mvp 패턴으로 간단한 기능의 화면을 만들어 보았다.
'ComputerScience > [디자인 패턴]' 카테고리의 다른 글
[MVVM] 안드로이드 MVVM 패턴이란? (0) | 2020.06.29 |
---|---|
Repository Pattern - 안드로이드 레포지토리 패턴이란? (0) | 2020.03.11 |
[MVP] 안드로이드에 mvp 패턴 적용하기(4) - Presenter 만들기 (0) | 2020.03.10 |
[MVP] 안드로이드에 mvp 패턴 적용하기(3) - Model 정의 (0) | 2020.03.10 |
[MVP] 안드로이드에 mvp 패턴 적용하기(2) - Contract 작성 (0) | 2020.03.10 |
Comments