Rumah > Java > javaTutorial > Bagaimana untuk Menyimpan Imej ke Galeri Android dengan Metadata Tersuai?

Bagaimana untuk Menyimpan Imej ke Galeri Android dengan Metadata Tersuai?

Barbara Streisand
Lepaskan: 2024-11-02 17:08:29
asal
237 orang telah melayarinya

How to Save an Image to the Android Gallery with Custom Metadata?

Simpan Imej ke Galeri dalam Android

Menyimpan imej ke galeri dalam apl Android boleh dicapai melalui kelas MediaStore. Gunakan kaedah berikut dalam pendengar onOptionsItemSelected:

<code class="java">MediaStore.Images.Media.insertImage(getContentResolver(), bitmap, title, description);</code>
Salin selepas log masuk

Di mana bitmap adalah imej, tajuk dan penerangan anda adalah metadata pilihan. Kaedah ini menambahkan imej pada penghujung galeri.

Memperibadikan Metadata Imej

Jika anda ingin mengubah suai tarikh imej atau metadata lain untuk penempatan yang betul dalam galeri :

<code class="java">// Import the necessary libraries
import android.provider.MediaStore;
import android.graphics.Bitmap;

// New method to insert image with customized metadata
public static String insertImageWithMetadata(ContentResolver cr, Bitmap source, String title, String description, long timestamp) {
    ContentValues values = new ContentValues();
    values.put(MediaStore.Images.Media.TITLE, title);
    values.put(MediaStore.Images.Media.DISPLAY_NAME, title);
    values.put(MediaStore.Images.Media.DESCRIPTION, description);
    values.put(MediaStore.Images.Media.MIME_TYPE, "image/jpeg");
    values.put(MediaStore.Images.Media.DATE_ADDED, timestamp);
    values.put(MediaStore.Images.Media.DATE_TAKEN, timestamp);

    Uri uri = null;
    String stringUrl = null;

    try {
        uri = cr.insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI, values);

        if (source != null) {
            OutputStream imageOut = cr.openOutputStream(uri);
            source.compress(Bitmap.CompressFormat.JPEG, 50, imageOut);
            imageOut.close();
        } else {
            cr.delete(uri, null, null);
            uri = null;
        }
    } catch (Exception e) {
        if (uri != null) {
            cr.delete(uri, null, null);
            uri = null;
        }
    }

    if (uri != null) {
        stringUrl = uri.toString();
    }

    return stringUrl;
}</code>
Salin selepas log masuk

Kaedah ini termasuk parameter tambahan untuk nilai DATE_ADDED dan DATE_TAKEN tersuai, membolehkan anda mengawal kedudukan imej dalam galeri. Parameter cap masa mewakili tarikh dan masa dalam milisaat.

Atas ialah kandungan terperinci Bagaimana untuk Menyimpan Imej ke Galeri Android dengan Metadata Tersuai?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan