태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

안드로이드팀과 함께한 안드로이드 개발자 간담회!

2012.09.18 17:39


2012년 9월 17일, 구글코리아에서 구글의 안드로이드 팀의 세션이 있었습니다.

올해 구글 I/O에서 발표되었던 내용들과, 최근 Google+ 에서 이슈가 되었던 내용들로 구성되었습니다. 

진행된 세션은 다음과 같습니다.

  • Android design guide : 'Pure Android'를 위한 안드로이드 앱 디자인
  • What's new in Android : 젤리빈에서 추가된 새로운 안드로이드의 기능들
  • In-app billing / Subscription : Google Play의 In-app billing과 구독(Subscription)기능에 대한 소개
  • How to get featured in Play store : 구글 플레이에서 '에디터 추천'으로 올라가려면 무엇을 준비해야 하는가?

금강산도 식후경이라지


오후 6시 반부터 9시까지 세션이 진행되다보니 간단한 저녁이 제공되었습니다.

엄청 따끈한(!) 샌드위치와 로비에 있는 각종 음료로 배를 채웠습니다 :)



로비에 앉아 저녁을 먹으면서 오신 분들과 이야기를 하고 있는데,

도착하는 분들을 보다 보니 GDG나 핵타임에서 뵈었던 분들이 많이 보였습니다 :)

오래간만에 뵌 분들도 있는지라 간만에 즐겁게 이야기도 하고,

최근 개발 이슈들(!?)에 대해서 간단히 토론도 할 수 있었습니다.


첫번째. 안드로이드 디자인 가이드


최근, 구글에서 안드로이드 애플리케이션의 디자인 가이드라인을 공개하였습니다.

즉, '안드로이드 애플리케이션이라면 이래야 한다'라는 것을 알려주는 문서이지요.

이번 구글 I/O에서도 이 부분에 대해 심도있게 다뤄지고, 최근에는 액션바 셜록(ActionBarSherlock)등의

외부 라이브러리를 사용하여 안드로이드 4.0 이전 버전의 휴대폰에서도

새로운 UI를 적용할 수 있게 되었습니다.


세션에서는 안드로이드 디자인(Android Design) 사이트에 있는 내용 중,

가장 핵심이 되는 부분들을 주로 설명하였습니다.


특히 액션바가 추가되면서 새로 추가된 개념인 업 네비게이션 (Up navigation)에 대한 설명과

백 스택 관리, 백 버튼 동작 관리 등에 대해 팁을 얻을 수 있었습니다.


자세한 내용이 궁금하신 분들은 다름 링크를 참조하세요.


안드로이드 디자인(Android design) - 공식 사이트

안드로이드 디자인 한국어 번역 페이지



두번째. What's new in Android


젤리빈에서 추가된 많은 기능들이 주로 다루어졌습니다.

그 중에서도, 안드로이드를 사용하는 많은 사람들의 염원이였던 '버벅임 개선',

즉 'Project Butter'에 대한 설명도 다뤄졌습니다.


Project butter


'Project butter'는 이름처럼 '화면을 부드럽게' 표시해주는 것이 목표였습니다.

안드로이드에서는 1초에 60번 화면을 업데이트하는데,

이전 버전에서는 화면을 표기하기 위한 CPU 작업과, 이를 표시하기 위한

GPU의 렌더링 작업이 무작위로 발생하여 화면 업데이트가 제대로 되지 않는 경우가 발생하기 쉬웠습니다.





위의 그림을 보면 VSync(화면이 업데이트되어야 하는 시기)에 2번 작업의 그리기가 완료되지 않아,

2번 결과를 그리지 못하고 1번 화면을 계속 유지하게 됩니다. 


이런 것이 길어지게 되면 눈에 띄는 지연이 생기게 되죠.





젤리빈에서는 이를 막기 위해 VSync를 고려하여,

CPU를 사용 가능하다면 이를 VSync주기에 맞춰 처리하도록 하고,

이 결과를 GPU가 가능한 빨리 그려줄 수 있게 함으로써

화면 지연을 줄일 수 있도록 하고 있습니다.


이 뿐만 아니라, Triple buffering을 사용함으로써

화면 버퍼 처리시 여유를 늘려 좀 더 원활한 화면 전환이 가능하게 되었습니다.

이 부분은 사실 상당히 복잡한 내용인지라 이 포스트에서 모두 다루기는 힘들고,

기회가 된다면 다시 정리해서 포스팅을 하려 합니다.


우선은 이번 구글 IO 세션 중 이를 다룬 세션이 있으니

해당 자료를 참고하면 도움이 많이 될 것입니다.


Google I/O 2012 - For butter or worse : Smoothing out performance in Android UIs



Rich Notifications


안드로이드의 가장 큰 장점 중 하나인 '알림' 기능이 좀 더 개선되었습니다.

알림 창들을 개별적으로 없애거나, 알림에 버튼을 추가하는 등

단순히 텍스트를 보여주는 역할에서 벗어나

하나의 작은 '커뮤니케이션 창구'역할을 할 수 있게 되었습니다.





이 또한 진저브레드 이하 버전에서 사용할 수 있습니다.

support-v4 라이브러리의 NotificationCompat을 사용하면 됩니다.


Notification에 대한 자세한 설명은 이전에 작성한 제 포스트를 참고하세요.

2012/07/17 - 젤리빈(Android 4.1)에서 추가된 다양한 Notification을 사용해보자!



Google cloud messaging for Android 




C2DM(Cloud to Device Messaging)으로 알려져있던 서비스가 GCM으로 정식 런칭되었습니다.

사용해보니 예전에 비해 적용하기도 훨씬 편하고,

사용 제한도 없어 다용도로 사용하기 수월할 듯 합니다.


이와 관련된 내용도 조만간 포스팅을 준비중이니 기대해주세요 :)


Android Developer Lab+


Google+ 행아웃을 사용하여  현재도 각종 개발자 행사들이 수시로 열리고 있습니다.

그 중에서도 안드로이드와 관련된 이슈를 다루는 Android Developer Lab+이 있다고 하네요.


2012년 9월 20일에도 하나 열리니, 관심 있는 분들은 참여해보세요 :)

Android Developer Lab+, Sydney



세번째. In-app billing과 Subscription, 그리고 정책 위반을 방지하기 위한 팁.


최근 안드로이드 마켓에서 '디지털 상품'을 결제할 때

안드로이드 마켓의 인앱 결제만을 사용하도록 약관이 바뀌었습니다.

때문에 많은 혼란이 있었는데요, 간략하게 정리하면 다음과 같습니다.


* 디지털 상품은 꼭 인앱결제만을 사용해야 함(다른 결제수단 혼용 금지)

* 앱이 아닌 웹에서 똑같은 상품을 구매할 때는 인앱결제가 아닌 다른 결제수단 사용가능


구독 옵션에 대한 소개도 있었는데,

사실상 우리나라에서는 아직 잡지와 같은 컨텐츠가 활성화되어 있지 않아

상대적으로 간단하게 다뤄지고, 주로 인앱 결제에 초점이 맞춰졌습니다.



네번째. How to get featured in Play store


안드로이드 마켓에서 '추천' 항목에 올라가면 많은 다운로드를 기대할 수 있습니다.

그만큼 홍보 효과가 크죠. 이 세션에서는 추천되기 위한 작은 팁에 대해 설명했습니다.

정리하면 다음과 같습니다.


* 개발자 콘솔에서 '마케팅 동의' 체크

* 앱 설명 페이지가 이뻐야(!) 한다 (디자인도 중요해요!)

* 앱 설명에 쓸데없는 키워드 넣으면 안됨

* 안드로이드 디자인 가이드를 최대한 준수할것

* 1MB 가 넘는 앱의 경우 (가능하다면) SD카드로 옮길 수 있도록 할 것



마무리하며....



이제까지 한국에서 개발자들이 참석할 수 있는 행사는 극히 적었습니다.

물론 '세미나'를 표방한 '홍보'는 많았습니다만....-_-

진정 개발자가 정보를 얻고, 교류할 수 있는 자리는 극소수였습니다.


하지만, 이번과 같은 행사를 시작으로,

한국에도 개발자에게 실질적으로 도움이 되는 자리들이 활성화되었으면 좋겠습니다.

이번 행사만으로 끝이 아니라고 하니,

이번 행사에 참가하지 못하신 분들은 다음을 기대해도 좋을 것입니다. :)

저작자 표시 비영리 변경 금지
신고
크리에이티브 커먼즈 라이선스
Creative Commons License

커니 안드로이드 이야기/새소식 , , , , , , , , , , , , , , , , , , , ,

  1. 잘 읽고갑니다^^

  2. 안드로이드 간담회라니 ... 정말 멋지네요!

  3. 커니님 안녕하세요!

    집필 하신 책으로 도서관에서 공부 많이 했습니다 +_+/

    질문이 있어서 댓글을 남깁니다..

    저도 저기 간담회 갔었는데요.. (사진의 4. Fabregas 라능 +_+a )

    간담회 질문 시간에 질문 하고 싶었는데.. 1.영어의 압뷁 2. 남들다 잘쓰는데 개쪽당할까봐

    질문을 못한 내용이 있습니다..

    Downloadmanager 클래스가 기능과 편리성 면에서 강력한 것 같습니다.

    특히 기기 리부팅 이후에 자동으로 완료되지 않은 다운로드를 시작하는 점이 가장 마음에 들었습니다..

    하지만 막상 사용해보니.. (코드는 http://blog.naver.com/iloveilmare/40168508107)

    다운로드를 마치고 다시 다운로드를 시작하는 부분에서

    중복다운로드가 되거나 다운로드 한 파일이 사라지거나 하는 오류가 있습니다.

    구글링해보니 다른 사용자중에서도 저와 같은 버그를 보고 하는 경우도 있었고..

    일부유저는 구글에서 버린클래스다 라고 하는 리플을 본적이 있습니다.

    결국 저는 리부팅 이후의 자동다운로드를 포기하고

    Downloadmanager 를 사용하지 않고 다른 구성으로 작성 하였습니다.

    혹시 제가 잘못 작성 한것인지.. 아니면 유저들 말대로 구글이 버린 클래스 인지요..?

  4. 저는 딱히 그런 문제를 경험해본 적은 없어서 뭐라 조언해드리기는 어려운데, 정말 버그가 확실하다면 버그리포팅을 하거나 Gerrit code review에 해당부분을 수정해서 올려보시는 것도 괜찮을 듯 합니다~

  5. Blog Icon
    hika

    음 제발 rss좀 전문이 나오게 해주세요~

  6. Blog Icon
    최병은

    안녕하세요
    포스트가 도움이 많이 되었습니다. 그런데 질문이 한가지 드려도 될까요? 제가 잘 몰라서요
    내용중에
    ---------------------
    * 디지털 상품은 꼭 인앱결제만을 사용해야 함(다른 결제수단 혼용 금지)
    * 앱이 아닌 웹에서 똑같은 상품을 구매할 때는 인앱결제가 아닌 다른 결제수단 사용가능
    ----------------------
    와 같은 내용이 있는데요 두번째 줄에 있는 내용이
    앱 내에서 디지털 컨텐츠 결제시 모바일 웹 브라우저를 띄워 결제를 진행하면 다른 결제 수단 사용가능하다는 뜻인지요?

    답변해주시면 많은 도움이 될것 같습니다.
    매일 들어와 확인하겠습니다 ^^

  7. 확실히는 모르겠지만, 이번 조치가 네이티브 형태로 제공되는 결제모듈에 한해서 인앱결제를 사용하도록 강제하는 듯 합니다. 때문에 웹을 통한 결제는 얼마든지 다른 수단을 사용해도 무방하다고 했던 것 같습니다.
    모바일 웹은 애매해서..확실히 모르겠습니다. 문의 채널로 연락해보는 것이 가장 정확한 답을 얻을 수 있는 방법이 아닐까 싶습니다 :)