Your SlideShare is downloading. ×
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

H3 2011 안드로이드의 Seamless UX를 위한 Activity 활용전략_Android팀_오종인

526

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
526
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. 안드로이드의Seamless UX를 위한Activity 활용전략Android앱팀 I 오종인
  • 2. 이런 얘기를 하려고 합니다 01 Android vs. iOS 02 Application, Activity, Task 03 기본 동작 Review 04 Case Study2
  • 3. 무엇이 무엇이 똑같을까?3
  • 4. 진정 이런 것을 원하세요?4
  • 5. 02 Application, Activity, Task
  • 6. Application 구조부터 달라요! Application Application Process 기능&화면 기능&화면 Activity Activity 기능&화면 Content Provider Service 기능&화면 기능&화면6
  • 7. Application 구조부터 달라요! Application Process 화면 Activity Activity 화면과 기능의 분리 Content Provider 기능 Service7
  • 8. Activity는? public class Calculator extends Activity8
  • 9. 잠시 다른 얘기…9
  • 10. Application을 종료하고 싶어요~10
  • 11. 이렇게 하면 된대요! Process.killProcess(Process.myPid()); System.exit(0); ((ActivityManager)getSystemService(ACTIVITY_SERVICE)) .restartPackage(getPackageName());11
  • 12. 그런데, 왜 종료해야 하나요? 안드로이드가 알아서 ! Low Memory Killer !12
  • 13. 종료에 대해서 신경 끄세요! 1 모바일 앱 사용 패턴은 최근 사용한 앱 소수의 앱을 반복적으로 2 Application은 항상 실행 중인 상태라는 경험을 제공13
  • 14. 찾아보세요! Phone Application Message Browser Settings E-mail14
  • 15. 동작을 이해해 보아요~ Activity Test Activity Test Activity Test Activity Test Activity 1 Activity 2 Activity 3 Activity 2 Start Activity 2 Start Activity 3 Start Activity 4 Start Activity 3 Activity 1 Activity 2 Activity 3 Activity 3 Activity 1 Activity 2 Activity 2 Activity 1 Activity 1 Activity는 Stack에 쌓임 TASK15
  • 16. 남의 어플에 숟가락 얹기 Application Application Process Process Activity 1 Activity 3 Task Activity 2 Activity 4 Content Provider Content Provider Activity 3 Service Service Activity 2 Activity 116
  • 17. 복잡해요, Launch Mode Launch mode에 의해서 다양한 동작으로 구성 가능 ☞ standard, singleTask, singleTop, singleInstance17
  • 18. 그런데, 이럴 때 필요합니다. 1 Notification에서 Activity 실행 시 고려 필수 페북 메신저! 2 새로운 Activity 생성 또는 실행 중인 Activity를 사용18
  • 19. facebook 메신저를 살펴 보아요~ 1 대화 상대 목록은 재사용 2 채팅 진행 중인 화면은 재사용 3 신규 채팅 화면은 새로운 Activity 생성19
  • 20. 03 기본 동작 Review
  • 21. 벌써 잊으셨어요? 원래 있던 건데.. MENU BACK21
  • 22. 보이는 모양이 바뀐 것일 뿐... Option Menu 1 화면에서 실행할 수 있는 추가 기능 목록 2 사용자가 기대하는 기능을 메뉴 키를 눌렀을 때 찾을 수 있도록 배치22
  • 23. 문맥(=Context) 이라 굽쇼? Context Menu 1 목록에서 상세 화면 진입 없이 선택 항목의 관련기능 수행23
  • 24. 빠른 접촉? 교제? Quick Contact 1 프로필 이미지 선택 시, 연락처 관련 기능의 빠른 수행 2 연락처 기능 외에 Quick Action으로 부가 기능 수행도 가능24
  • 25. 04 Case Study
  • 26. 브라우저를 비교해 볼까요?26
  • 27. 종료는 앞서 말씀 드렸죠? 정말 쓸데없는 짓!27
  • 28. 팝업의 감동을 알려드립니다~28
  • 29. Seesmic을 아시나요? 1 재 실행 시 이전 상태로 빠르게 복원 2 Menu, Context Menu 등 기본 동작에 충실 3 탄탄한 시나리오, 이미지 대신 색을 이용29
  • 30. 많이 쓰고 계시죠? handcent SMS app 임시보관함 1 사용자 데이터 유실 없음 2 위젯의 효과적 사용, 정보 제공 및 단축 아이콘 기능 수행30
  • 31. 기억나시나요? “네이버-다음 구글 공정위 제소…”31
  • 32. 기억나시나요? “네이버-다음 구글 공정위 제소…” <activity android:name=".EmployeeSearch“> <!-- Receives the search request. --> <intent-filter> <action android:name="android.intent.action.SEARCH" /> <category android:name="android.intent.category.DEFAULT" /> </intent-filter> <!-- Points to searchable meta data. --> <meta-data android:name="android.app.searchable“ android:resource="@xml/searchable"/> </activity> <provider android:name="MruNameProvider" android:authorities="kth_employee_name_mru"/>32
  • 33. 검색 동작을 자세히 살펴보면… Android Search KTH 직원검색 App Activity 4 Task Activity 3 Activity 1 Activity 2 Activity 4 Task Content Provider Activity 2 Activity 133
  • 34. 나는 꼽사리다! “공유” 기능! <activity android:name=".MyShare"> <intent-filter> <action android:name="android.intent.action.SEND"/> <category android:name="android.intent.category.DEFAULT"/> <data android:mimeType="image/*"/> <data android:mimeType="video/*"/> <data android:mimeType="text/plain" /> </intent-filter> </activity>34
  • 35. facebook 거저먹기 : Single Sign On35
  • 36. facebook 거저먹기 II String uri = "fb://page/" + yourFBpageId; Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); try { startActivity(intent); } catch (ActivityNotFoundException ex) { // facebook 공식 앱이 존재하지 않을 경우에는 // Web browser로 동일 화면을 보여준다. String uri = "http://touch.facebook.com/pages/x/" + yourFBpageId; Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(uri)); startActivity(i); }36
  • 37. 접속해 보세요~ : OpenIntents.org37
  • 38. 참고 하세요~ Title Action 프린트 com.rcreations.send2printer.print 소리 크기 조절 org.openintents.audio.action_volume_update 색깔 선택 org.openintents.action.PICK_COLOR 바코드 스캔 com.google.zxing.client.android.SCAN Flickr photo com.google.android.photostream.FLICKR_PHOTO Flickr stream com.google.android.photostream.FLICKR_STREAM38
  • 39. 바코드 스캔http://www.openintents.org/en/node/67939
  • 40. 저희부터 할께요!40
  • 41. 무찌르자 애플!!!! 타도 애플!!!41
  • 42. 각자의 길로 가는 게 좋겠죠?42
  • 43. 밑줄 쫙~ 1 Application은 항상 실행 중인 상태라는 경험을 제공  사용자에게는 기능의 연속성이 중요함  Activity 재 실행 시 마지막 상태를 최대한 복원  Low Memory Killer에 의한 종료 시나리오에 대비43
  • 44. 똥글뱅이! 2 Android 기본 동작 준수  [MENU], [BACK]키 동작  Option Menu, Context Menu, Quick Contact 등 적절하게 사용  Low Memory Killer에 의한 종료 시나리오에 대비44
  • 45. 형광펜! 3 사용자 알림은 용도에 맞게  POP-UP은 불가피한 경우만  중요한 이벤트에 사용자 대응이 꼭 필요한 경우  사용자 입력 데이터 유실 문제가 있을 때  Toast는 focus를 뺏지는 않지만 어떤 동작에 대한 안내인지 명시적으로 표시45
  • 46. 이것도! 4 Search, Share 등 사용자가 예상하는 경로에 기능 배치46
  • 47. One more thing! 5 동일 서비스일 지라도 iOS와 Android의 UX는 별도로 접근47
  • 48. 감사합니다.모바일개발실 / Android앱팀 팀장 / 오종인 ohjongin@kthcorp.com @ji5

×