개별 파일로 intent를 통해 리소스 디비 업데이트
이번에는 폴더 전체 스캔, MediaScanner를 통해 업데이트를 해보겠습니다.
이부분도 간단하게 구현가능한데, 범용성을 위해 클래스로 뺐습니다^^;
package com.jhlibrary.util; import android.content.Context; import android.media.MediaScannerConnection; import android.media.MediaScannerConnection.MediaScannerConnectionClient; import android.net.Uri; public class MediaScanner { private Context mContext; private String mPath; private MediaScannerConnection mMediaScanner; private MediaScannerConnectionClient mMediaScannerClient; public static MediaScanner newInstance(Context context) { return new MediaScanner(context); } private MediaScanner(Context context) { mContext = context; } public void mediaScanning(final String path) { if (mMediaScanner == null) { mMediaScannerClient = new MediaScannerConnectionClient() { @Override public void onMediaScannerConnected() { mMediaScanner.scanFile(mPath, null); // 디렉토리 // 가져옴 } @Override public void onScanCompleted(String path, Uri uri) { } }; mMediaScanner = new MediaScannerConnection(mContext, mMediaScannerClient); } mPath = path; mMediaScanner.connect(); } }
직접 구현의 경우, MediaScannerConnection 클래스를 통해 디비에 접근(?),
파일 또는 디렉토리 전체에 대한 업데이트를 할 수 있다.
먼저 MediaScannerConnectionClient 를 객체화 해줍니다.
(이 클래스는 MediaScannerConnection에서 callback을 받기 위한 클래스입니다).
그리고 connection을 위한 MediaScannerConnection을 객체화 하면 끝~!
사용하기 위해선 아래처럼 하시면 됩니다.
MediaScanner scanner = MediaScanner.newInstance(MainActivity.this); scanner.mediaScanning("파일경로");
'Programming > Android' 카테고리의 다른 글
[Android] Notification에 큰 이미지 적용하기 (2) | 2014.12.30 |
---|---|
[Android] drawable 리소스를 비트맵으로 변환. drawable resource to bitmap (0) | 2014.12.26 |
[Android] 사진 저장 후 갤러리에 보이지 않는 경우. (0) | 2014.07.25 |
[Android, Hybrid] 앱에서 파일 다운로드 구현. URL File Download. (2) | 2014.07.10 |
[Android] Notification 에서 onNewIntent가 타지 않는 문제. How to call onNewIntent from Notification. (4) | 2014.06.26 |