마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

사용자의 예측할 수 없는 행동에 대한 예외처리 기법 혹은 좋은 방안이 있나요?

0 추천
안녕하세요.

안드로이드 앱 개발 중 질문사항이 있어서 이렇게 글을 올립니다.

 

httpURLConnection의 의존도가 높은 앱이라서 AsyncTask를 확장한 클래스가 많습니다.

또한 Fragment를 확장한 클래스도 많은데요.

 

getActivity()나 getResource() 메소드를 호출하는 부분에 도달했을 즈음에

홈키 또는 백버튼, 메인UI에 띄워진 다른 버튼 등을 클릭 시 해당 메소드가 null을 리턴하면서 앱이 죽습니다.

 

처음에는 저런 부분을 지역변수로 리턴값을 받고 null 체크를 했었는데요.

지금은 try, catch문으로 감싸고 있습니다.

 

아무래도 둘다 좋은 방법은 아닌 것 같은 느낌이 들어서 이렇게 여쭤봅니다.
셋업맨 (150 포인트) 님이 2013년 7월 31일 질문

2개의 답변

0 추천
 
채택된 답변

UI 상으로 다운로드 시 버튼을 클릭할 수 없게 하는 식으로 우회 하셔도 되고 장시간 다운이면 PROGRESS BAR 를 띄워도 되고

 

즉 딴짓을 할 수 있는 상황 자체를 막는 겁니다. 

aucd29 (218,390 포인트) 님이 2013년 7월 31일 답변
셋업맨님이 2014년 2월 18일 채택됨
답변 감사합니다.
말씀대로 장시간에서는 ProgressBar를 띄워서 막았습니다.
다른 부분은 try catch로 감싸고
Exception이 일어나면 아무것도 하지 않게 처리 했습니다.

는 벌써 6개월도 넘었네요!
0 추천
로딩 끝날 때까지 해당 뷰가 이벤트를 안 받도록 로딩중 같은 걸 띄우거나 또는 다양한 방법이 있겠지만,

개인적으로는 널 체크말고 딴 방법은 잘 안씁니다.

그저 사용자의 손가락을 뿐질러 버리...

고 싶지만,

몇 번 그러다 말겠지 하고 냅둡니다.
Elex (9,090 포인트) 님이 2013년 7월 31일 답변
답변 감사합니다.
손가락... 공감갑니다!
...