ホームページ  >  記事  >  Java  >  カスタム メタデータを含む画像を A​​ndroid ギャラリーに保存するにはどうすればよいですか?

カスタム メタデータを含む画像を A​​ndroid ギャラリーに保存するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-02 17:08:29173ブラウズ

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

Android のギャラリーに画像を保存

Android アプリのギャラリーに画像を保存するには、MediaStore クラスを使用します。 onOptionsItemSelected リスナー内で次のメソッドを使用します。

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

ここで、ビットマップは画像、タイトルと説明はオプションのメタデータです。このメソッドは、画像をギャラリーの最後に追加します。

画像メタデータのカスタマイズ

ギャラリー内で適切に配置するために画像の日付やその他のメタデータを変更したい場合:

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

このメソッドには、カスタマイズされた DATE_ADDED および DATE_TAKEN 値の追加パラメーターが含まれており、ギャラリー内の画像の位置を制御できます。 timestamp パラメータは日付と時刻をミリ秒単位で表します。

以上がカスタム メタデータを含む画像を A​​ndroid ギャラリーに保存するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。