mediascannerconnection 예제

이 예제 는 안드로이드 소스 코드 파일 (MediaScannerConnection.java)DevDaily.com „자바 소스 코드 웨어하우스“프로젝트에 포함되어 있습니다. 이 프로젝트의 목적은 당신이 „예로 안드로이드를 학습“TM을 하는 데 도움이됩니다. 의도 데이터를 제외한 모든 부품이 옳습니다. 나는 파일 경로를 의미한다. 파일 경로를 하드코딩할 수 있습니다. 이것은 내 예입니다. 이 구현에서는 생성자 내에서 MediaScannerConnection을 만들고 여기에서는 connect() 메서드라고합니다. 위의 코드에서 지적했듯이 실제 스캔 전에 검사가 있습니다. 그렇다면 어떻게 해야 하나요? MediaScannerConnectionClient의 구현은 검색이 완료될 때마다 호출될 뿐만 아니라 연결이 설정된 즉시 호출됩니다. 다음 섹션에 설명된 대로 시간이 좀 걸릴 수 있으므로 이 콜백에 관심이 있을 수 있습니다.

API가 생성되는 방식은 실제로 이 콜백 메서드를 사용하여 검사를 시작해야 합니다. 실제로 수신기는 스캔을하지 않습니다. MediaScannerService라는 서비스가 시작됩니다. 매니페스트의 서비스 부분 스캔 자체가 더 오래 걸립니다 – 놀랍게도 나를 했다. 내 Archos와 옵티머스 하나에 대한 200 밀리 초 – 심지어 최악의 실행에 900 (!) 밀리 초까지 내 넥서스. OnScanCompletedListener 자체는 onScanCompleted() 메서드를 구현해야 합니다. 이 메서드는 MediaStore.Files 공급자에 대 한 파일 이름과 URI 매개 변수로 전달 가져옵니다. 이것은 파일을 알리는 가장 복잡한 방법입니다. 그러나 그것은 당신에게 더 많은 제어를 제공합니다. 콜백에 대한 MediaScannerConnection.MediaScannerConnectionClient를 구현해야 합니다. MediaScannerConnection을 생성하고, 연결()을 호출하고, 연결이 설정될 때 지정된 경로 및 mimeType을 사용하던 scanFile(컨텍스트, 문자열[], 문자열[], MediaScannerConnection.OnScanCompletedListener)을 호출하는 편리합니다.

. 서비스 연결 인터페이스의 일부입니다. 전화하지 마십시오. . 이 연결에 대한 바인딩이 죽은 경우 호출됩니다. 안드로이드는 개발자가 라이브러리에 추가 할 생성 된 미디어 파일을 추가 할 수있는 훌륭한 응용 프로그램을 제공합니다. 응용 프로그램을 MediaProvider라고 합니다. 이제 미디어 공급자의 눈을 보자. 그 매니페스트의 수신기 부분 « 안드로이드 에 미디어용 안드로이드 코드 스니펫에서 선호하는 응용 프로그램 설정 » 당신은 당신의 파일을 미디어 라이브러리에 추가 할 경우, 당신은 MediaStore 콘텐츠 공급자를 사용하여, 또는 MediaScanner를 사용하여 그렇게 할 수 있습니다. 이 게시물에서 나는 미디어 스캐너만 처리합니다.

이후 게시물에서 는 파일을 알리기 위해 MediaStore 공급자를 사용하는 방법을 다룹니다. 기존의 USB 저장 프로토콜 대신 MTP를 사용하는 장치를 사용하면 MediaScanner를 사용하여 MTP를 통해 임의의 파일에 액세스할 수 있도록 합니다. 따라서 MediaScanner에 추가하지 않는 모든 파일과 폴더는 장치를 컴퓨터에 연결하는 경우 전체 검사 사이에 표시되지 않습니다! MediaScannerReceiver 올바른 작업 및 데이터 체계와 위의 의도를 받게 됩니다. MediaScanner 서비스에 대한 연결이 설정되고 파일 검색이 완료되면 MediaScannerConnection클라이언트에게 알리기 위한 인터페이스입니다. 내 Archos 태블릿 (또한 여분의 파티션)에 대한 100 밀리 초 – 몇 가지 테스트를 수행 할 때 내 옵티머스 하나 (SD 카드)와 내 갤럭시 넥서스 (추가 파티션) 약 20 ~ 40 밀리 초 연결을 설정했다. 지금까지 내가 안드로이드의 코드 베이스를 통해 커서 검색에서 알 수 있듯이, 안드로이드는 재부팅과 (재) SD 카드를 장착 할 때 만 전체 미디어 스캔을 실행합니다. 이것은 처음에는 나쁘게 들릴 수도 있지만 그것에 대해 생각해보십시오.

Komentáře nejsou povoleny.