안녕하세요 아즈라엘 입니다.
이번에 만드는 어플은 토킹톰을 따라한건데..
뽀로로 켈릭이 나와서 하는거랍니다.
대충 켈릭터의 비율이 유지되어야 해서 멀티 해상도 지원할때
뽀로로 켈릭 들어가는 모든것과 폰트의 모든것은 이미지 고유의 비율을 유지해서
다 맞추었습니다.
한마디로 원 이미지가 모든 해상도에서 타원이 아니라.. 원으로 나오는거죠..
아무튼 이렇게 작업하는대 평상시의 두배는 소요 되었습니다..ㅠㅠ
그 이후에 미디어플레이어와 오디오 그리고 마이크 부분에서 디바이스별 마다
반응이 천차 만별이라 파라미터 세팅이 거의 안되고 있습니다.
어케든 중간점은 찾아서 그럴듯하게 보이긴 하지만 자세히 보면 좀 이상하게 작동하곤 하죠..
ICS 업데이트 되면서 많이 안정화 된것도 찾아냈는데 SurfaceHolder.callback 호출되는 시점이
많이 좋아졌더군요..
가로에서 세로 넘어갈때 화면 왜곡되는것도 ICS에서는 많이 부드럽지만 마음엔 들지 않는군요..
여하튼 이래 저래 골머리 썩어가면서 작업하는데 주위에 iOS 하시는분들의 반응이
측은하다는 느낌? 돈도안되는 안드로이드는 개발도 그지같네 이런식이죠..
솔찍히 아이폰 시장의 1/5 수준의 안드로이드 시장입니다.
뿌려 놓은 단말기는 드럽게 많은데 사용자가 유료 결제가 없고 무료만 선호하죠..
디바이스도 졸라 많고 해상도도 많이 틀리고 .. 심지어 같은 소스인데 어디는 잘 굴러 가고 어디는 븡신같이 굴러가고
에러 뻑뻑나고 .. Java 언어의 특징이 그런지 thread도 무진장 많이 복잡하게 돌아가니 싱크 마추는게 드럽게 힘들고
간헐적으로 Thread 에서 문제가 일어나는데 타이밍을 도데체 알아 낼 수 가 없네요..싱크도 더블 체크 방식으로 해도 안되고..
암튼 어케 저케 해서 그나마 아주 간헐적으로 발생되게 만들긴 했습니다. ㅋ
아무튼 이런 이유로.. 스마트폰 개발을 한다면 적극 아이폰 하라 권장 하고 싶네요
공부 하고 싶고 개고생 하고 싶다면 안드로이드 해보라 권하고 싶습니다. ㅠㅠ
물론 임베디드 시장과 플렛폼 그리고 악성어플을 만들고 싶어서 이것저것 가지고 놀고 싶으면
안드로이드도 좋긴 하네요..^^
덕분에 공부는 많이 합니다.!!
이번에 현업에서 아주 간단한 로직의 라이브러리 만드는것도 생각보다 골치아프더라구요.
의외로 하위 버전 호환성도 맞춰야하고 에러나면 원인 찾기힘들고ㅠ
뭐 자바마냥 익숙해지면 괜찮을지 모르겠지만서도..
그나저나 아즈라엘님 현업에서 다양한 종류의 업무를 하시나 보네요;
오히려 iOS은 폐쇄성때문에 똑같은 앱을 개발하는데 안드로이드보다 기능구현이 힘든부분도 많이 있더군요..
장단이 있는것 같습니다만, 단일플랫폼이라면 단연 iOS가 갑인듯 ㅠㅠ
아즈라엘님이 때려치우시면 우리들은 어찌하옵니까? T.T 앱을 테스트하는 새로운 방법을 생각해 냈어요. 저니까 가능한 방법이긴 하지만... ^^;; 우선 세미나를 합니다. 그러면 아주 다양한 폰을 가지고 사람들이 옵니다. 각 폰에 앱을 심고 돌립니다. ㅎㅎ
와~ 재밌어요. 아... 글이 재밌다는 게 아니라 (오해하실라) 만드신 앱이요.
전화하기는 기발한데요~ 은근 탐난다는.... 저랑 얘기 좀 합시다. ㅋ 농담 아니고 진지하게...
몇 가지...
1) 앱에 동영상이 다 들어가 있어서 좀 무겁다능... 서버에서 스트리밍해도 될 듯 한데요...
2) 동영상이 앱에 들어가 있는데도 플레이 시 반응이 느림
3) 팝업창 닫기랑 화면 빠져나가기의 UI가 달라서 통일할 필요 있음
4) 좀 오래 쓰면 죽음
5) 멀티쓰레드가 왜 필요한지는 잘 모르겠음
6) 그래픽은 멋짐... 제 스타일 ^^
7) 비즈 모델은? 물고기?
8) 동작 데이터를 나머지 부분과 분리해서 동작 데이터를 서버에서 가지고 오면 매일매일 다른 반응을 볼 수 있을 것임
9) 교육적인 요소는.... 음... 아직 잘 모르겠음
1) 앱에 동영상이 다 들어가 있어서 좀 무겁다능... 서버에서 스트리밍해도 될 듯 한데요...
--> 서버를 사용하지 않는게 컨셉임 .. 추후 반응이 좋으면 서버 운영함
2) 동영상이 앱에 들어가 있는데도 플레이 시 반응이 느림
--> 플레이어에서 pause -> start 반응이 느림 (자주 일어나면 점점 느려짐)
3) 팝업창 닫기랑 화면 빠져나가기의 UI가 달라서 통일할 필요 있음
--> UX는 일부러 신경안씀^^
4) 좀 오래 쓰면 죽음
--> 바로 죽는지 아니면 멈춰 있는지 모르겠음, 일단 죽지는 않는데 멈춰 있을것으로 판단됨
5) 멀티쓰레드가 왜 필요한지는 잘 모르겠음
--> 보이스체크 , 미디어 ABrepeat 구간체크, UI Thread
6) 그래픽은 멋짐... 제 스타일 ^^
--> 대용량인 이유가 있음 !!!
7) 비즈 모델은? 물고기?
--> 일단 사용자 반응을 보려고 만들었으므로 물고기 + 광고
8) 동작 데이터를 나머지 부분과 분리해서 동작 데이터를 서버에서 가지고 오면 매일매일 다른 반응을 볼 수 있을 것임
--> 반응이 좋으면 컨텐츠 협으를 할 예정임
9) 교육적인 요소는.... 음... 아직 잘 모르겠음
--> 컨텐츠 협의가 이뤄지면 알것같음 ㅠㅠ
아.... 그리고 아이들은 "아웅~", "아 오..." 이런 식의 감탄사 무지 좋아합니다. 자지러지죠. ^^
하신 것처럼 "뿡~" 이런 것도 좋아하죠.
하나 더.... 동영상을 넣으시려면 raw 폴더보다는 assets 폴더가 좋습니다.
raw는 인코딩해서 들어가지만 assets는 그냥 들어가니까요. 따라서 디코딩할 일이 없어집니다.
다만 assets 폴더는 용량 제한이 있을 겁니다. 맞나? 기억이 가물가물.
가장 좋은 건 폴더 만들어서 복사.
아즈라엘님~ 저번에 개발자 들끼리 모임했을 때 옆에서 아즈라엘님 얘기 들으면 감동 먹었던 사람입니다.
안드로이드는 때려치우지 마시고.. 저희 회사로 오세요~ ㅋㅋㅋ
같이 일해보고 싶은 1인 입니다.
아즈라엘님~~ 새로 보내주신 건 먹통 현상이 없는 것 같은데 반응이 좀 느려요.
동기화에서 데드락을 잘 살펴보셔야 하는데 synchronized의 범위를 최소화하는 게 중요해요.
흠 안드로이드 개발이 엄청 힘든거였군요 ㅠㅠ
전 아이폰을 안하니 .......
아이폰 개발 시작하기가 힘든것 같앙 ㅛㅠㅠ