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

안드로이드 손전등 어플을 만들었는데..

0 추천
토글 버튼으로 버튼을 누르면 플래쉬가 켜지도록 만들어서 구글 플레이 스토어에 내놓았는데요.

(https://play.google.com/store/apps/details?id=com.kmh.magi_casper.flash_free)

 

토글 버튼에 이미지를 주어서 on상태와 off상태를 다르게 해주고 싶었습니다.

 

그래서 xml파일을 한 개 더 만들어서 selector를 썼는데,

 

실제로 폰에서 구동시켜보니 버튼누르고 잠시 뒤에 버튼 이미지가 교체되네요.

 

바로바로 빠르게 교체되게 하고 싶은데..

 

버튼을 누르고 약 0.5초 후에 버튼 이미지가 변하면서 플래쉬가 켜집니다.

 

교수님께 물어봤는데 교수님도 잘 모르시네요.

 

어떻게 해야할지 조언 좀 부탁드립니다..
레이디엘 (160 포인트) 님이 2015년 1월 21일 질문
토글버튼은 저도 아직 제대로 사용은 안해봤는데...기능은 구현하셨으나 혹시 모르니 예제 사이트 하나 링크드립니다. http://kd3302.tistory.com/63
이미지 교체시간에 0.5초가 걸린다고 하시는거면 ~ 로그를 찍어보셔서 그 로그가 출력되는 시간도 0.5초정도 뒤에 출력되는지 확인해보시는것도 좋을거같아요.
그냥 이미지만 변경해보는거랑, 이미지 변경후 플래시가 켜지는거..로직도 한 번 보시는게 좋을거같고요.

2개의 답변

+2 추천
 
채택된 답변
생각해 보시면 간단합니다.

 

int a = 10;

for(int i=0; i< 100000000; i++) {

    a++;

}

System.out.println(a);

 

이렇게 하면 a값이 바로 출력되지 않습니다. 위에 있는 for문이 다 돌아야 출력됩니다.

마찬가지 입니다. 플래시가 켜지는 메소드가 동작이 끝나야 UI 변화가 생기겠죠.

 

코드 상으로 아마 토글 버튼에 changelistener를 달아서

listener 안에서 플래시를 on 시키겠죠~

그런데 플래시 on 시키는게 정말 빠르게 짠~ 하고 켜지는게 아닙니다.

약간의 작업 시간이 걸리죠.

listener 안에서 플래시를 on시키는 코드를 별도의 스레드로 동작시켜 보세요.
원조안드로이드 (58,190 포인트) 님이 2015년 1월 22일 답변
레이디엘님이 2015년 1월 22일 채택됨
–1 추천
기술적인 답변은 아니고, 지나가다 아직 학생인 것 같아 한마디 적는다.

앱이 광고가 없다고 하여 호객행위를 하고 싶은가본데,

자네나 같은과  동기, 또는 국내의 같은 학과 동기 및 선후배등이

개인 개발자로서 수익을 낼 수 있는 방법은 광고 밖에 없다. 간간이 회사 다니다 나와서 거기서 보고 들은 지식을 그대로 가져다 몇가지 트릭으로 수익을 내기도 하지만 극히 일부분이다.

 

 앱 제목과 그에 기반한 사상에서

자네는 최소한의 동업자 의식도 없이 동종업계에 있는 사람들을 비난하는 것과 같으며,

그와 동시에 자네 스스로의 먹고 살길에 대해서도 부정하는 철학을 가진 것에 불과하다.

이러한 접근을 한다고해서 그 누가 알아주지도 않으며, 자네가 속한 자본주의 세계에서는 더더욱 도움이 되지 않는다.

 그 앱 또는 향후의 개발에 있어서도 한번 자기가 속한 집단(눈에 보이지 않고 교류도 없지만)과의

최소한의 예의와 상호 관계에 대해서, 그리고 존중을 담아 최소한의 동업자 의식을 가지고 살아가길 바란다. 이런식은 좀 아니다. 취직용으로 잠깐 써먹을 요량이라도 그 취직하는 회사는 뭘로 먹고 살것 같은가? 어차피 광고 아니면 광고 뺀 유료 버전, 아니면 게임 아이템 판매에 불과하다.

 

그리고, 질문 관련해서, 교수는 사실 실무적인 개발 경력이 없는 경우가 태반이고, 설령있더라도 그거 하기 싫어서 때려치고 도망나온 집단에 불과하다. 교수가 알리가 만무하지. 제일 무식한 애들이 교수인데. 예를들어 인공지능학 등에서 두각을 나타내는 극.히. 극소수의 교수 빼고는 학문적인 깊이가 얕다고 보면 된다. 즉 기본 방향은 배우되 예외 상황에 대해서는 스스로 분석해서 공부하는 것이 맞다. 소위 삽질 하면서 '왜?'에 대해 고민을 해보길 바란다. 그게 프로그래머가 하는일이다. '띡'하니 질문 올리는게 프로그래머가 아니고. 어차피 웹에서 소스 긁어다가 만들었을 텐데 그정도 노력도 안하면 되는가?

 

마지막으로, 잔소리 했으니, 그래도 힌트를 좀 주면,

누르고 뗄떼 지연이 생기는 것은 UI Thread에서 처리하지 않도록 하면 개선되지 않을까? 이정도 이후 부분 정도는 잘 연구해보길 바란다. 불과 5분도 안걸리는 문제에 대해 질문한 것에 대해 부끄럽지 않으려면 말이지..
익명사용자 님이 2015년 1월 21일 답변
1. 답변이 무례하기 짝이없네요. 동업자 의식을 갖고 담합에 동참하라는게 하고 싶은 말인가요? 어디서 못된 것만 배워오셨나봅니다.
2. 학습과정에서 만들어낼 수 있는 쉬운 앱들 조차도, 아무 제한 없이 내놓는 것이 이렇게 욕먹을 짓이라고 말하는 사람이 있다는게 놀랍네요.
3. 일반적인 실무 경력자들보다 훨씬 넓은 범위의 것들을 아는 사람들이 교수입니다. 질문처럼 사소한건 모를 수도 있죠. 이런건 학생 스스로 해결해야될 범위니까요.
4. 마지막으로, 학생이라는 신분을 가진 사람들은 당신이 반말로 지껄여도 되는 상대입니까? 정말 무례하네요. 당신이 예의를 말할 처지는 아닌 것 같습니다. 최소한의 예의를 갖추고 온라인/오프라인 생활 하시기 바랍니다.
배경화면 이미지 크기가 너무 커서 딜레이가 생기는 거였습니다.
불과 5분도 안걸리는 문제에 단 답변 참 대단하네요.
쓰레기 답변 잘보고 갑니다
...