2017-08-15 71 views
2

我想讓用戶從他們的畫廊加載圖像:如何將數據庫中的圖像存儲在數據庫中,以便稍後在Xamarin.Android中加載?

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是我使用的是看我居然得到了正確的圖像,現在只是一個圖像視圖。

當我將模型保存到數據庫中,我得到一個字符串,它看起來是這樣的:當用戶打開這個項目後,圖像應加載,所以我解析字符串爲Uri

content://com.android.providers.downloads.documents/document/22 

。我嘗試設置圖像URI,就像以前一樣,但沒有顯示圖像。

var uri = Android.Net.Uri.Parse(imageUrl); 
imageView.SetImageURI(uri); 

有沒有更好的工作方式來做到這一點?

回答

1

我想你想直接加載圖片使用URL,使用一些第三方庫比較容易,例如Picasso

由於它是一個Java庫,您可以使用Binding Library在Xamarin中使用它。

添加此lib放到你的項目後,您可以簡單地這樣的代碼:

Picasso.With(this).Load(imageUrl).Into(imageView); 
相關問題