2011-12-15 8 views
1

ファイルを削除するときにメディアデータベースを更新する方法。ファイルエクスプローラアプリを開発していますので、アンドロイドでメディアデータベースを更新する必要がありますか?androidのアンドロイドメディアデータベースを更新する方法

このリンクHow to update the Android media databaseは私には役に立ちました。 私が必要とするのは、sdcardの特定のパスまたは場所をスキャンすることです。

これを実行するたびに時間がかかりますが、特定のパスをスキャンする方法はありますか? "onefolder"という名前のフォルダにある "/ sdcard/DCIM/onefolder /"ファイルだけをスキャンするようにしてください。

import java.io.File; 
import android.content.Context; 
import android.media.MediaScannerConnection; 
import android.media.MediaScannerConnection.MediaScannerConnectionClient; 
import android.net.Uri; 

public class SingleMediaScanner implements MediaScannerConnectionClient { 

private MediaScannerConnection mMs; 
private File mFile; 

public SingleMediaScanner(Context context, File f) { 
    mFile = f; 
    mMs = new MediaScannerConnection(context, this); 
    mMs.connect(); 
} 

@Override 
public void onMediaScannerConnected() { 
    mMs.scanFile(mFile.getAbsolutePath(), null); 
} 

@Override 
public void onScanCompleted(String path, Uri uri) { 
    mMs.disconnect(); 
} 

} 

は、それからちょうどこのようにそれを呼び出す:

答えて

0
あなたが1つのファイルをスキャンすることができ、このクラスでは

上記の提案のための

new SingleMediaScanner(this, file); 
+0

おかげで、それだけで単一のファイルのために働いています。ファイル名がfolder/mnt/sdcard/Folderのフォルダ名folderにあるファイル名:image.jpgのようなフォルダ内にファイルが存在する場合は動作しません。私が必要とするのは、ファイルエクスプローラのアプリケーションで、私はFolderという名前のフォルダを削除したいと思っています。フォルダを削除すると、メディアデータベースからファイルの情報が削除されますが、情報は削除されません。 –

+0

このフォルダ内のすべてのファイルにアクセスしてから、それらを1つずつ削除することはできません。 –

+0

これは、@Petrusの回答の1:1コピーですhttp://stackoverflow.com/a/5815005/1545993 ...他の人がこの剽窃を呼んでいます... – Taifun

関連する問題