Glide Загрузить изображение xamarin.android - PullRequest
0 голосов
/ 24 сентября 2018

Я использую библиотеку 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;

            }

        }
...