2017-08-15 7 views
2

私は、ユーザーが自分のギャラリーから画像を読み込むようにしたい:後でXamarin.Androidで読み込むためにギャラリーから画像uriをデータベースに保存する方法は?

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

イメージを直接ロードする場合は、サードパーティ製のライブラリを使用する方が簡単です(たとえば、Picasso)。

これはJavaライブラリなので、Binding Libraryを使用してXamarinで使用できます。プロジェクトにこのLIBを追加した後

、することができます。このような単にコード:

Picasso.With(this).Load(imageUrl).Into(imageView); 
関連する問題