67

SDカードから画像を選択してデータベースに保存し、この値をImageViewに設定できるアプリケーションを開発しています。uri を文字列に、文字列を uri に変換する方法を知る必要があります。Uri の getEncodedPath() メソッドを使用しましたが、たとえば、次のコードは機能しません。

ImageView iv=(ImageView)findViewById(R.id.imageView1);
Uri uri=Uri.parse("/external/images/media/470939");
Log.e("uri1", uri.toString());
iv.setImageURI(uri);

したがって、Uri をデータベースに保存し、保存された値から新しい Uri を作成する方法がわかりません。修正するのを手伝ってください。

4

5 に答える 5

115

uri を文字列に、文字列を uri に変換する方法を知る必要があります。

toString()をに変換するためにUri使用しStringます。Uri.parse()をに変換するためにString使用しUriます。

このコードは機能しません

これは、 の有効な文字列表現ではありませんUri。AUriにはスキームがあり、スキームがあり"/external/images/media/470939"ません。

于 2013-05-01T18:59:36.903 に答える
-2

Uri の代わりに Drawable を使用できます。

   ImageView iv=(ImageView)findViewById(R.id.imageView1);
   String pathName = "/external/images/media/470939"; 
   Drawable image = Drawable.createFromPath(pathName);
   iv.setImageDrawable(image);

これはうまくいくでしょう。

于 2013-05-01T19:03:17.193 に答える