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

Bagaimana untuk Menyimpan Imej ke Galeri Android dengan Metadata Tersuai?

Barbara Streisand
Barbara Streisandasal
2024-11-02 17:08:29232semak imbas

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>

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>

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!

Kenyataan:
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