Android
[16일차] 구조화 2
openDatabase
2016. 8. 8. 11:30
NetoworkManager
Network에서 데이터를 가져와서 넘겨주는 역할을 담당하는 Model class.
디자인 패턴은 singleton으로 !
보통 데이터를 얻어오는 애들은 Manager라고 한다.
Singleton으로 대개 만든다.
멀티스레드 환경에서 동시에 접근할 수 있기 때문에 이걸 쓴다.
성능 이슈 때문에 if(instance ==null) 을 바깥에 한번 더 해준다.
객체가 생성 되있을 때는 그냥 통과하게 만들어야 함으로 if 문을 한번 더 넣는다.
Thread 이슈
Retry
일시적으로 연결이 안됬을 때, 다시시도하는 걸 보낸다.
Cancel
캔슬 처리 Retry 나 이런건 라이브러리를 쓸거기 때문에 안한다.
캔슬처리를 안해주면 화면을 갱신하는 액티비티가 죽어서 Exception 이 난다.
Cancel처리는 중요하다 얘가 예외가 발생하는데 Dialog를 띄우려면 Activity가 finish 상태이면 안된다.
코드를 띄우면 문제가 된다. 그래서 끝날때, 더이상 띄우지말라는 cancel처리를 해줘야한다.
재현이 안되지만 발생하는 상황에서 에러이다.