2011-06-21 8 views
1

私のアプリでは、いくつかの画像をダウンロードしています。ダウンロードしたビットマップのサイズを取得できる方法があるかどうかを知りたいと思います。簡単な質問ですが、私はGoogleを通して解決策を見つけることができません。ビットマップのストレージサイズを取得する方法はありますか?

は、ここではダウンロードのためのコードです:

Bitmap b = BitmapFactory.decodeStream((InputStream) new URL(theImageUrl).getContent()); 

答えて

1

まず、あなたはビットマップ

のサイズはTHYE次のコード

Bitmap bitmap = your bitmap object 
ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, stream); 
    byte[] imageInByte = stream.toByteArray(); 
long length = imageInByte.length; 
で試してみてください得ることができます[]バイトにビットマップを変換します
1
File file = new File("infilename"); 

// Get the number of bytes in the file 
long length = file.length(); 
+0

ありがとうございますが、私はFileクラスを使用していません。 Bitmapクラスを使用しています。ビットマップをファイルにキャストしてからこれを行うことをお勧めしますか? – NotACleverMan

+0

次にコードをダウンロードしてコードを投稿してください – ingsaurabh

+0

どうして私はそれをダウンロードしているのか知る必要がありますか?私はちょうどビットマップクラスを使用しています。あなたは知っている: "ビットマップb =新しいビットマップ();" – NotACleverMan

1

使用b.getByteCount()。ダウンロードする前にサーバからサイズを問い合わせたいのですか?

EDIT:このメソッドは、APIレベルでのみ利用可能です12.

+0

これは、ストレージサイズではなく、膨らんだサイズを返します。 – secureboot

関連する問題