안드로이드 provider 예제

일반적으로 두 가지 시나리오 중 하나에서 콘텐츠 공급자와 함께 작업합니다. 다른 응용 프로그램에서 기존 콘텐츠 공급자에 액세스하는 코드를 구현하거나 응용 프로그램에서 새 콘텐츠 공급자를 만들어 다른 응용 프로그램과 데이터를 공유할 수 있습니다. 이 항목에서는 기존 콘텐츠 공급자와의 작업의 기본 사항에 대해 다룹니다. 자체 응용 프로그램에서 콘텐츠 공급자를 구현하는 방법에 대해 자세히 알아보려면 콘텐츠 공급자 만들기를 참조하세요. 다음 목록에서는 전체 공급자에 적용되는 사용 권한부터 시작하여 공급자 권한의 범위를 설명한 다음 보다 세분화됩니다. 더 세분화된 사용 권한은 더 큰 범위의 사용 권한보다 우선합니다: 콘텐츠 공급자는 콘텐츠를 한 곳에서 중앙 집중화하고 필요에 따라 다양한 응용 프로그램에 액세스하도록 합니다. 콘텐츠 공급자는 삽입(), update(), delete() 및 query() 메서드를 사용하여 콘텐츠를 추가 또는 삭제할 수 있는 데이터베이스와 매우 유사합니다. 대부분의 경우 이 데이터는 SQlite 데이터베이스에 저장됩니다. 공급자의 데이터를 수정하려는 들어오는 의도를 처리하는 것은 다른 의도를 처리하는 것과 다르지 않습니다. 의도 및 의도 필터 항목을 읽고 의도 사용에 대해 자세히 알아볼 수 있습니다. 일반적으로 콘텐츠 공급자는 Android 응용 프로그램의 일부이며 앱 데이터를 저장하는 관계형 데이터베이스와 같은 역할을 합니다. insert() 및 query() 메서드를 사용하여 콘텐츠 공급자에 저장된 데이터에 삽입, 업데이트, 삭제 및 편집과 같은 여러 작업을 수행할 수 있습니다. 공급자에서 데이터를 검색하는 다음 단계는 쿼리를 생성하는 것입니다.

이 첫 번째 코드 조각은 사용자 사전 공급자에 액세스하기 위한 몇 가지 변수를 정의합니다. 사용자 사전 공급자의 데이터 형식은 계약 클래스 UserDictionary.Words에 대한 참조 설명서에 나열됩니다(계약 클래스 섹션에 설명되어 있음). Cursor.getType()를 호출하여 데이터 형식을 확인할 수도 있습니다. Android Studio에서 Android 콘텐츠 공급자이해에서 설명한 대로 android.contentprovider 클래스를 하위 클래스로 분류하여 콘텐츠 공급자를 생성합니다. 따라서 다음 단계는 이 응용 프로그램의 콘텐츠 공급자역할을 하는 새 공급자 패키지에 클래스를 추가하는 것입니다. 프로젝트 도구 창에서 새 패키지를 찾은 다음 마우스 오른쪽 단추를 클릭하고 새로 -> 기타 -> 콘텐츠 공급자 메뉴 옵션을 선택합니다. 새 콘텐츠 공급자 대화 상자에서 MyContentProvider를 클래스 이름 필드에 입력하고 URI 기관 필드에 다음: 사용자 지정 콘텐츠 공급자를 빌드하고 콘텐츠에 대한 CURD 작업을 수행하는 방법을 보여 주는 작은 앱입니다. 커서 구현에는 개체에서 다양한 유형의 데이터를 검색하기 위한 몇 가지 “get” 메서드가 포함되어 있습니다. 예를 들어 이전 코드 조각은 getString()을 사용합니다. 또한 열의 데이터 형식을 나타내는 값을 반환 하는 getType() 메서드가 있습니다.