読者です 読者をやめる 読者になる 読者になる

【Android】ImageView 4パターンで表示する

 

①レイアウトに直接埋め込む
/res/drawable/human.jpg
<ImageView
  android:id="@+id/image1"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:src="@drawable/human"/>

 

f:id:stanleyblenz:20161105170100p:plain

 

----------------------------------------------------------------------------------------------

②外部の画像を取り込む
String url = "http://~~~/human.jpg";
URL imageUrl = new URL(url);
InputStream istream = imageUrl.openStream();
Bitmap bitmap = BitmapFactory.decodeStream(istream);
ImageView iv = (ImageView)findViewById(R.id.image1);
iv.setImageBitmap(bitmap);

 

----------------------------------------------------------------------------------------------

③assetsの画像を取り込む
/assets/human.jpg
InputStream istream = getResources().getAssets().open("human.jpg");
Bitmap bitmap = BitmapFactory.decodeStream(istream);

ImageView iv = (ImageView)findViewById(R.id.image1);
iv.setImageBitmap(bitmap);

 

----------------------------------------------------------------------------------------------

④drawableの画像を取り込む
ImageView iv = (ImageView)findViewById(R.id.image1);
iv.setImageResource(R.drawable.human);

 

 

----------------------------------------------------------------------------------------------

★assetsとdrawableの特徴
・assetsは制限はあるが大きいファイルも可能

 ※drawableの画像は端末のヒープメモリに依存しているため、

    メモリ圧迫の原因になる


・assetsはフォルダ分けが可能

 (assets/images)

 (assets/text)

 ※drawableはフォルダ分け不可