次の方法の場合
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です。