Я использую библиотеку Glid с моим xamarin.android для загрузки изображения из URI, все работает нормально, и изображение обналичивается, когда доступно подключение к Интернету. У меня есть окно программы просмотра чата и все сообщения (строки, изображения), хранящиеся в SQLLiteDb, IsЛучше сохранить imageUrl для http://example.com/img.jpg в моей базе данных и загружать его каждый раз или сохранить изображение в SDCard и загрузить его оттуда?ниже мой код для загрузки изображения с помощью Glide
любая помощь
public override void OnBindViewHolder(RecyclerView.ViewHolder holder, int position)
{
IncomingImageMessages msgHolder = holder as IncomingImageMessages;
if(messsaage[position].type == "Image")
{
if(message[position].imgUrl.Contains("http")){
try
{
Glide.With(Application.Context)
.Load("http://example.org/img.jpg")
.into(myLoadedImageTarget(msgHolder.ImageView,message))
}
}
}
public class myLoadedImageTarget : SimpleTarget
{
public myLoadedImageTarget(ImageView imgView,Message msg) : base(250, 250)
{
this.imgView = imgView;
}
ImageView imgView { get; set; }
Message msg {get;set;}
MyImageListener listener { get; set; }
public myLoadedImageTarget() : base(250, 250)
{
}
public override void OnResourceReady(Java.Lang.Object bitmapDrawable, ITransition p1)
{
var image = (bitmapDrawable as BitmapDrawable).Bitmap;
imgView.SetImageBitmap(image);
var newImageUrl = saveImage(image);
---------AFTER WRITE IMAGE TO PHONE CHANGE THE SOURCE IN SQL LIET DB--------
Update.DB(msg,newImageUrl)
}
public string saveImage(Bitmap image)
{
string SaveImagePath = null;
string imageFileName = Guid.NewGuid().ToString() + ".jpg";
........ CODE TO SAVE IMAGE IN MY SPECIAL FOLDER ....
return SaveImagePath;
}
}