1

Android デバイスの外部 SD カードに保存できるように、aDrawableを aに変換しようとしています。bitmap

Drawable画像を取得するために次のものを使用しています:

public void setImage(Drawable image) {
    ImageView filmCover =  (ImageView)findViewById(R.id.filmCover);
    filmCover.setImageDrawable(image);

    filmCover.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            }
    });
}

このDrawable画像は別のクラスから来ています:

package com.example.devopdracht;

import java.io.InputStream;
import java.net.URL;

import android.graphics.drawable.Drawable;
import android.os.AsyncTask;
import android.util.Log;

public class PlaatjeLoader extends AsyncTask {
    static Datasaver saver = new Datasaver();
    private Drawable image;
    private Filmpagina main;

    public PlaatjeLoader(Filmpagina main) {
        this.main = main;
    }

    @Override
    protected Object doInBackground(Object... arg0) {
        JSONtester filmjson = new JSONtester();
        FilmObject film = filmjson.getFilmObject(saver.getClickedFilm());
        String cover = film.getFilmCover();
        image = LoadImageFromWebOperations("http://www.stoux.nl/film/covers/" + cover);
        return true;
    }

    @Override
    protected void onPostExecute(Object result) {
        super.onPostExecute(result);
        main.setImage(image);
    }

    public static Drawable LoadImageFromWebOperations(String url) {
        try {
            InputStream is = (InputStream) new URL(url).getContent();
            Drawable d = Drawable.createFromStream(is, "src name");
            return d;
        } catch (Exception e) {
            return null;
        }
    }
}

私が Stackoverflow で見つけた方法は次のとおりです。

Bitmap bmp = BitmapFactory.decodeResource(getResources(), R.drawable.something);
MediaStore.Images.Media.insertImage(getContentResolver(), bmp, "testname" , "testdescription");

しかし、これは機能しません。なぜなら、私は を呼び出しているのR.drawable.somethingではなく、単にイメージを呼び出しているからですDrawable

しかし、私が使用するとき

Bitmap bmp = BitmapFactory.decodeResource(getResources(), image);

次のエラーが発生します。The method decodeResource(Resources, int) in the type BitmapFactory is not applicable for the arguments (Resources, Drawable)

インターネットから取得した画像をギャラリーに保存するにはどうすればよいですか?

4

0 に答える 0