0

Android の managedQuery メソッドにパラメータを書き込もうとしていますが、WHERE 句に問題があります。これが私が書いたものです。

Cursor imageCursor;

// lots of other junk

String[] proj = {MediaStore.Images.Media.TITLE};

imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj, MediaStore.Images.Media.DATA = filename, proj, null );

「filename」はstring、画像のパスを保持する変数です。例/mnt/sdcard/pic05.png

pic05.png 画像と同じレコードを保持するカーソルを返したいのですが、返されたカーソルは、この特定の画像の TITLE 列情報を保持します。SQL WHERE 句をどのように台無しにしましたか? 私の構文は where 句で間違っているに違いないと思いました

4

1 に答える 1

2

ファイル名の周りに''を追加します。これを試して

   Cursor imageCursor;

     // lots of other junk

       String[] proj = {MediaStore.Images.Media.TITLE};
    String selection = MediaStore.Images.Media.DATA + "='" + filename +"'";

     imageCursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, proj, selection, null, null );
于 2012-09-20T07:44:21.670 に答える