0

次の方法の場合

 Uri uri = ContentUris.withAppendedId((MediaStore.Images.Media.EXTERNAL_CONTENT_URI, id);

私は多くの例を読みましたが、どの例もペラメーターの「id」部分をどうするかを教えてくれません。特定の画像が保存されている行によって変わるため、どの行を割り当てたくありません。 「id」をハードコーディングすることはできません。これにどう対処するか?IDをnullのままにすることはできますか?

編集

私は数分前にウェブサイトhttp://www.grokkingandroid.com/android-tutorial-using-content-providers/からこれを見つけました

     values.clear();
 values.put(Words.WORD, "Zaphod");
 Uri uri = ContentUris.withAppendedId(Words.CONTENT_URI, id);
 long noUpdated = resolver.update(uri, values, null, null)

これは著者からの引用です。「変更したレコードは1つだけなので、IDが追加されたURIで十分です。ただし、複数の値を更新する場合は、通常のURIと選択句を使用する必要があります。」

それで彼は「通常のURIと選択句」を使うように言ったのでどうやってそれをするのですか?

これは私の選択ステートメントです:

     String selection = MediaStore.Images.Media.DATA + "='" + filename +"'";

ここで、「filename」は、選択した画像によって異なる文字列変数です。たとえば、この場合は/mnt/sdcard/pic09.pngです。

4

1 に答える 1