3

こんにちは、私が構築しているアプリは、サーバーに保存されている多くの画像で動作し、それらをリストビューに表示する必要があります。それらをファイルに保存できるようにしたいと思います。

これまでのところ、ここに私が持っているコードがあります

var imageUrl = new Java.Net.URL(obj.imageUrl);
var bitmap = Android.Graphics.BitmapFactory.DecodeStream(imageUrl.OpenStream());
var image = new Android.Graphics.Drawables.BitmapDrawable(bitmap);

しかし、画像の保存方法や保存場所がわかりません。

助けはありますか?

ありがとう

4

1 に答える 1

7

あなたはこれを考えすぎています。:-)

あなたが持ったらStream

var imageUrl = new Java.Net.URL(obj.imageUrl);
System.IO.Stream stream = imageUrl.OpenStream();

ディスクに保存するだけです:

using (var o = File.Open(
        Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.Personal),
            "file-name"))) {
    byte[] buf = new byte[1024];
    int r;
    while ((r = stream.Read(buf, 0, buf.Length)) > 0)
        o.Write (buf, 0, r);
}

Environment.GetFolderPath(Environment.SpecialFolder.Personal)Context.FilesDirである $APPDIR/files を返します。必ずしもこれを使用する必要はありません。Context.CacheDirの方が適切な場合があります。

于 2011-04-14T03:33:24.917 に答える