2015/10/05 6

비동기 작업은 아버지가 살아있을 때 해라!

일반적으로 뷰 속에 버튼등을 넣을 수 있다. 그리고 이 뷰를 오버라이드 하면 새로운 커스텀 뷰를 만들수도 있다. 그러나 조심해야 할 점이 있으니... 뷰는 닫히면 사라진다. 만약 닫을 때 제거 하지 않으면 다음에 열 때 '니 자식의 애비가 살아 있으니 애비를 저리 치우고 다시 나와라'라는 말을 듣게 될 것이다. 즉, 무조건 제거를 해주어야 하는데 여기서 문제가 발생한다. 비동기 태스크가 문제다... 얘는 뷰가 닫혀도 언제든 갑자기 툭하고 나와서 실행 될 수 있다. 해당 클래스에 있다고 무심결에 이 뷰를 불러다 쓰면 죽느다. 이건 문제가 참 쉽다. 하지만 뷰 속에 있는 아이템을 불러다 쓰면 살아 있을 수도 있다. 뷰만 제거 하고 속 살은 제거 하지 않았기 때문에 아직 가비지 청소가 되지 않았다면 속살은 살..

자전거 라이딩시 현재 시간 확인 앱(손만 올리면 현재 시간을 말해줘요)

자전거 라이딩시 현재 시간을 확인 하고 싶을 때 손목시계를 들여다 보거나, 폰을 켜서 보는 등 어떻게든 눈으로 확인을 하고 계신가요? 그렇다면 이제 눈은 정면만 주시 하세요. 안전 운전 해야죠! 시간을 알고 싶을 때는 거치대에 올려 놓은 폰 위에 손만 슬쩍 스쳐주시면 현재 시간을 바로 말해줍니다. 여기에 오늘의 목표를 입력 해보세요. '오늘 화창한 가을날 30Km를 완주 할테야. 지금은 오후 2시 33분. 조금만 더 가자! 아자 아자!' 등과 같이 현재 시간 앞 뒤로 원하는 문구를 넣으면 시간 확인 시 마다 음성으로 알려 드립니다. 정말 편하고 재미있고 쉽죠? 그럼, 자전거에만 활용 하냐고요? 쓰임새가 정말 많답니다. 잠잘(취침) 때 시간은 알고 싶은데 휴대폰(스마트폰)을 찾느라 손을 이리저리 움직이는 ..

당신은 반드시 아이의 부모를 먼저 제거 해야 합니다?

오버라이드를 하다 보면... 또는 여러가지 뷰 작업등을 하다 보면 저런 경고 아니... 죽여 놓고 내 뱉는 문장을 만나게 된다. 유아이가 정말 복잡하게 되어있자면... 정말 난감하기 따름이 없을 것이다. 이번엔 Preference Override 에서 발생하는 문구에 대해 보겠다. 그냥 답만 내 놓자. onCreateView를 통해 1개만 만든다면 문제 없지만, 여기에다가 onCreateDialogView까지 만들게 되면 다음에 뷰를 띄울 때는 반드시 죽여야 한다. 그러지 않으면 아래 뻘건 문구와 함께 앱이 죽어 있을 것이다. java.lang.IllegalStateException: The specified child already has a parent. You must call removeView(..

백그라운드 리소스를 비 동기 태스크에서 사용하기

BackgroundResource를 asyncTask에서 사용할 때는 반드시 onPostExecute 또는 onProgressExcute 에서 사용 하도록 하자. doInBackground에서 사용 할 경우에는 시스템이 스레드를 돌면서 BackgroundResource를 해결 하러 다니는데... 따로 스레드를 돌려서 사용하면 죽는다. 시스템이 하는 일은 스레드에서 하지 말자. 아빠가 하는일은 아빠가 하도록 하자.

불면증은 보내고 숙면이를 부르는 취침시계 1.1.1

잠잘(취침) 때 시간은 알고 싶은데 휴대폰(스마트폰)을 찾느라 손을 이리저리 움직이는 것도 모자라, 눈 뜨고 빛나는 시간을 확인 해야 한 적이 많으신가요? 이렇게 시간을 확인 했다면 이미 잠은 깨버린거죠. '잠이 오지 않을 때 잠깐만 시간 확인 하면 잘 잘것 같은데....' 자다가 잠깐 깨어났는데 시간만 확인 하고 싶은데....' '알람이 울릴 때가 되었는데 지금은 몇시인지... 확인 하면 잠 다 깰 것 같고...' 이런적이 많으신가요? 그렇다면 숙면 시계 어플을 만나보세요. 주무시던 잠 그대로 반 수면 상태에서 확인 하고 깊은 수면 상태로 다시 보내드립니다. 또한, 불면증으로 시달리는데... 시간을 확인하면 눈 부신 상태에서 또 다시 잠이 드는데 오래 걸리시는 분들께도 조용히 시간만 확인 시켜드리고 수..

스레드 엄마의 심폐 소생술에... 로이드가

프로그래스 다이얼로그는 스레드 엄마가 품어줘야 비로소 새 생명이 태어 날 수 있는 조건이 갖추어진다. 즉, 스레드 엄마가 제대로 품지 않으면 언제든지 넘어져서 다치고 떨어져서 죽을 수도 있다. 여기서 '엄마가' 그리고 '제대로'가 참 중요하다. 무슨말이냐? 안드로이드의 우주 속에는 수 많은 스레드 엄마들이 새끼들을 키우고 살고 있는데... 아빠가 술먹고 집으로 돌아오다가 옆집 애가 뛰어노는 모습을 보고, 자기 자식인줄 알고 집으로 데리고 왔다면? 안드로이드 우주에선 엄마들이 자기 애가 아니면 그냥 밖으로 던져 버린다. 즉, 사망이다. 여기서 알고 넘어가야 할 것은? 1. 아빠도 누가 우리 자식인지 알아야 애를 잘 데려 와서 키울 것이고2. 엄마도 애가 멀리 나가서 다른 자식과 햇갈리지 않도록 해야 한다는..

반응형