YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Korean subtitles

← Content Providers 가 중요한 이유

Get Embed Code
10 Languages

Showing Revision 4 created 12/22/2014 by Inho Jeong.

  1. 우리가 작업을 진행하여
    content provider를 구축하기 전에
  2. "왜"냐고 묻는것이
    터무니없는 것은 아닐것입니다.
  3. 가장 간단한 대답은, 그것은 당신이
  4. 데이터를 안전하게 공유하고
    효율적으로 app의 경계선을
  5. 기저의 데이터 소스를 요약하는 것으로,
    이것과 같은 SQLite이나,
  6. 파일들이나, 또는 정말 어떤 다른 것과 같이
    넘으려고 하는 것을 허용하기 때문입니다.
  7. 그래서 다른 apps이
    그것을 실제로 이해하거나
  8. 저장할 필요없이 액세스할 수 있습니다.
    사실, 칼렌다, SMS와 contacts APIs는
  9. shared content providers를
    이용하여 그렇게 작용됩니다,
  10. 우리는 나중에 우리의
    weather database를 공유하겠지만,
  11. 만일 당신이 app의 데이터를
    밝힐 계획이 아니라면,
  12. 당신은 아마 이것을 약간 건너뛸
    수 있다고 생각할 겁니다, 그렇죠?
  13. 음, 거의 맞아요,
    많은 사례들에서 그렇게 할 수 있죠.
  14. 하지만 사실 그러면 안 되죠. 그 예로,
    Sunshine에서 우리는 SQLite을 사용하죠.
  15. 하지만 당신은 파일에,
    dynamic run-time data,
  16. 또는 단지 다른 database library에
    데이터를 저장할 수 있습니다.
  17. Content providers를 이용하면
    그것은 당신이
  18. 그 데이터 소스를 잠재적으로 교환하고
  19. 당신이 아닌 누군가 그 UI layer code를
  20. 당신의 data storage implementation를
  21. 깊이 이해할 필요없이
    관리하는 것을 쉽게 합니다.
  22. UI layer에서, 그것은 커서를 전환하는
    일반적인 메카니즘입니다.
  23. SQLite databases에 의해
    전환된 것들도 마찬가지입니다.
  24. data layer implementation이 바뀌었다면,
    그 다음에는 당신의 content provider가
  25. 영향을 받은것입니다. 여전히, 그건 지금
    당장은 당신이 단지 코드를 쓰고 있는 것이고
  26. 멋진 디자인 패턴을 따르는
    목적으로서는 상당한 상용문입니다.
  27. framework에 관해서 고려해볼 때는,
    모든 데이터가
  28. content providers를 통해서
    처리된다는 걸
  29. 마음에 새겨두시기 바랍니다.
    그래서, 만일 당신이
  30. 데이터를 위젯으로 보내거나,
    새로운 app에서 검색 결과를 리턴하는 것과 같이
  31. 당신의 app밖의
    어떤것과 상호작용하고 싶다면,
  32. 그것을 위해서도 당신은 content provider가
    필요할 것입니다. 사실, 그것이
  33. Google play store와 Gmail widgets이
    작용하는 방법이죠. 또한 Google Play에서
  34. 검색결과를 얻는 능력또한 마찬가지입니다.
    마찬가지로, APIs의 상당량은
  35. synching과 querying data, UI의 updating을
    적절히 하는 과정의 최적화를 위해 디자인 되었죠.
  36. 그리고 그것들 모두는 또한
    content providers를 기대합니다.
  37. 그것은 sync adapters와 cursor loaders를
    포함합니다. 그것은 당신의
  38. app이 당신의 server로 효율적으로 sync하고,
  39. 당신의 UI layer에서 데이터를 load하고,
    기저의 데이터가 바뀔 때, 내장된
  40. content observers를 포함하는 당신의 UI가
    자동적으로 업데이트 하게 만드는 것입니다.
  41. 물론 당신은, 당신 혼자서도
    그것들을 구축할 수 있겠지만
  42. 어느 지점에서, 시작할 때부터
    content provider를 쓰지 않아서 얻는 이득은,
  43. 그것을 활용하는
    유용한 클러스터의 전부를
  44. 재창조해야하는 과정에서 잃습니다.
  45. 우리는 이 수업의 후반에서 당신의
    content provider의 publishing과
  46. 효과적으로 액세스할 수 있는
    Lotus의 이용을 살펴보기로 하겠습니다.
  47. 그리고 6과에서 우리가 효과적인 배경의 업데이트
    작업을 할 때 sync adapters를 탐험할 것입니다.
  48. 하지만 먼저, Dan이 실제로 content provider를
    구축하는 방법을 보여줄 것입니다.