프로그래밍/안드로이드 3

[안드로이드]비트맵 이미지 리사이징

안드로이드 개발 시 비트맵을 canvas에 뿌려야 할 때가 있습니다 최근에 게임을 구현하는데 openGL을 사용하지 않고 비트맵으로 열어서 canvas에 뿌리는 식으로 구현을 했었습니다 다음과 같이 미리 비트맵을 열어놓고 사용할 때 마다 화면에 뿌리는 형식으로 하였습니다 public Bitmap untocLogo = ((BitmapDrawable)r.getDrawable(R.drawable.untoc_logo)).getBitmap(); 그런데 제 폰에서는 속도도 어느정도 나와서 몰랐는데 다른 기기에서는 많은 이미지를 뿌려주는데 너무 느려지는 현상이 있었습니다 특히 갤럭시 노트 같은 큰 화면에서는 더더욱 느려지더군요 그래서 찾아본게 리사이징 입니다 이미지는 해상도 때문에 약간 크게 만들거나 하는데 이 이미..

[Java / Android] 랜덤 함수 사용하기

안드로이드 어플을 개발 하다가 난수 발생이 필요해서 잠깐 찾아봤습니다 Math 클래스에 있는 random() 함수를 사용하면 되는데 이 함수가 0에서 부터 1보다 작은 double 형을 반환하는 듯 합니다 이 반환된 수에 임의의 자연수를 곱하고 (int)형으로 변경을해주면 0에서 부터 해당 자연수-1 까지의 수를 얻을 수 있습니다 0부터 0.9999999... 까지 수를 반환하기 때문에 x를 곱하면 0부터 (x-1).9999999999999 까지를 얻을 수 있는 것입니다 int로 변환하면 소숫점을 버리고 0 ~ (x-1) 까지를 얻을 수 있겠죠 저는 0~7까지의 수가 필요해서 (int)(rand*8) 을 사용했구요 1부터 8까지가 필요하시다면 1 + (int)(rand*8) 을 하시면 됩니다~