2012-12-15 5 views
2

콘텐츠 공급자는 여러 응용 프로그램간에 데이터를 공유해야하는 경우에만 필요합니다.ContentProvider 용도

유일한 용도입니까? WS에서 데이터를 가져 와서 CP에 쓰고 여기에서 Activities에서 읽는 것은 어떻습니까?

iosched : CP는 여러 앱에 대해 데이터베이스를 공유하는 데 사용됩니다.

답변

1

당신은 데이터베이스를 사용하여이 작업을 수행 할 수 있지만, 응용 프로그램간에 데이터를 공유하지 않을지라도 contentprovider를 사용하는 것이 좋습니다. CursorLoader (correction)과 같은 클래스는 contentprovider에서 직접 데이터를로드합니다. 데이터베이스 만 사용하는 경우이 클래스를 확장해야만 동일한 성능을 얻을 수 있습니다. 이렇게 모두 contentprovider 작업을 위해 만들어진 것입니다.

+0

그래서 문서의 문장에서 "콘텐츠 공급자는 여러 응용 프로그램간에 데이터를 공유해야하는 경우에만 필요합니다." 사실이 아니지, 그렇지? – pvllnspk

+0

이 사실이 아닙니다. 실제로 매니페스트에있는 conentprovider를 private로 선언 할 수 있으므로 데이터를 공유하지 않도록 할 수 있습니다. – Xenione

+3

@ barn.gumbl : 인용문에서 핵심어는 "필수"입니다. 앱 전체에서 데이터베이스를 공유하려면 'ContentProvider'가 필요합니다. 단일 앱 내에서 사용할 필요는 없습니다. 그것은 * 하나의 응용 프로그램 내에서 사용할 수 있지만 * 필수 * 아닙니다. 따라서 따옴표로 묶인 문장은 가져온 문서의 단락의 컨텍스트에서 참입니다. – CommonsWare