我想让用户从其图库中加载图片:
var imageIntent = new Intent();
imageIntent.SetType("image/*");
imageIntent.SetAction(Intent.ActionGetContent);
StartActivityForResult(Intent.CreateChooser(imageIntent, "Select photo"), REQUESTCODE);
这很好用:我可以在该活动中使用该图像。但我想将URI存储在数据库中,以便图像与对象相关联。我用:
_recipeImage.SetImageURI(data.Data);
model.ImageUrl = data.Data.ToString();
_recipeImage
只是一个图像视图,我正在使用它来查看我现在是否真正正确地获得了图像。
当我将模型保存到数据库时,我得到一个类似于:
的字符串content://com.android.providers.downloads.documents/document/22
当用户稍后打开此项时,图像应该加载,因此我将字符串解析为Uri
。我尝试像以前一样设置图像URI,但没有显示图像。
var uri = Android.Net.Uri.Parse(imageUrl);
imageView.SetImageURI(uri);
有没有更好/更有效的方法呢?
答案 0 :(得分:1)
我认为您想直接加载图片使用URL,使用某些第三方库更容易,例如Picasso。
由于它是一个java lib,你可以使用Binding Library在Xamarin中使用它。
将此lib添加到项目中后,您可以像这样编写代码:
Picasso.With(this).Load(imageUrl).Into(imageView);