2012-01-05 21 views
1

画像を内部メモリに保存しました。たとえば、私はtest.jpgとして保存しました。今私はそれをイメージビューで見せたいと思う。Androidの内蔵メモリから画像を読み取る

ImageView img = (ImageView)findViewById(R.id.imageView1); 
try {      
    img.setImageDrawable(Drawable.createFromPath("test.jpg"));     
} catch (Exception e) { 
    Log.e(e.toString()); 
} 

そしてLogCatに次のメッセージが出ます::私はこの試みている

SDカードが読み取りのために利用可能であるとし、任意のヘルプまたは参照

truetrueをしてください書くのか?

答えて

5
public class AndroidBitmap extends Activity { 

private final String imageInSD = "/sdcard/er.PNG"; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     Bitmap bitmap = BitmapFactory.decodeFile(imageInSD); 
     ImageView myImageView = (ImageView)findViewById(R.id.imageview); 
     myImageView.setImageBitmap(bitmap); 

    } 
} 

または

final Bitmap bm = BitmapFactory.decodeStream(..some image..); 
// The openfileOutput() method creates a file on the phone/internal storage in the context of your application 
final FileOutputStream fos = openFileOutput("my_new_image.jpg", Context.MODE_PRIVATE); // Use the compress method on the BitMap object to write image to the OutputStream 
bm.compress(CompressFormat.JPEG, 90, fos); 

それが動作を期待...

+0

ありがとうございますが、私はSDカードに画像を保存していません。** MODE_PRIVATE **を使用して内部メモリに保存された画像は内部メモリのパス名を取得します。 –

+1

最終ビットマップbm = BitmapFactory.decodeStream(..some .. ..); // openfileOutput()メソッドは、アプリケーションのコンテキストで電話機/内部ストレージにファイルを作成します。 final FileOutputStream fos = openFileOutput( "my_new_image.jpg"、Context.MODE_PRIVATE); // BitMapオブジェクトのcompressメソッドを使用して、OutputStreamに画像を書き込む bm.compress(CompressFormat.JPEG、90、fos); –

+0

Thanx @Nikhilreddy Gujjula –

0

docを見てみましょう。..

あなたは画像がどこにあるか "知る" 必要はありません保存される。あなたはあなたがそれを保存したものを保持する必要があります。そして、それを再び読むことができます。

問題は...そこにファイルを保存しましたか?あるいは、これをあなたがアプリケーションに組み込んだ画像と混同していますか?それが後者の場合、ドキュメントにはそれらの読み方についての説明もあり、デバイスに書き込んだファイルと同じではなく、アプリケーションパッケージに含まれています。

ようこそスタック!あなたが答えを見つけたら、それらをアップアップして、あなたの問題を解決するなら「正しい」とマークすることを忘れないでください。

乾杯。

+0

ありがとうDr.Dredel –

+0

あなたは大歓迎です:) –

関連する問題