본문 바로가기

나의 플랫폼/안드로이드

[Android] RGB 색깔 테이블 색깔을 입힐 때, Hex코드는 이해하기 힘드니 Color.rgb(red, green, blue); ex> Snow : Color.rgb(255,250,250); 위 코드 형태로 RGB값으로 지정하자. Whites/Pastels Color Name RGB CODE HEX # Sample Snow 255-250-250 fffafa Snow 2 238-233-233 eee9e9 Snow 3 205-201-201 cdc9c9 Snow 4 139-137-137 8b8989 Ghost White 248-248-255 f8f8ff White Smoke 245-245-245 f5f5f5 Gainsboro 220-220-220 dccdc Floral White 255-250-240 fffaf0 Old Lace 253-2.. 더보기
[Android] HeapSize확인! Log.d("DEBUG", "Heap Size : "+Long.toString(Debug.getNativeHeapAllocatedSize())); 위 로그를 사용하여 매번 출력해줘서 HeapSize에 변화를 확인한다. 참고로 전 Sky VegaS를 테스트 해봤을 때, 결과값이 약140000000 이상이 될 경우 핸드폰이 멈춰버리는 현상이 발생하였습니다. HTC 디자이어 HD같은 경우는 그 전에 Out of memory가 발생하고 종료 되어버리구요. Bitmap을 사용하거나 리스트 배열에 이미지를 다룰 경우 주의사항! 1. Bitmap을 계속 사용하지 않을 경우에는 삭제한다. bitmap.recycle(); bitmap = null; 2. Bitmap을 불러들이는 부분이 매번 추가되지 않는지 확인한다. 특.. 더보기
[Android] Bitmap을 확장 축소할 경우 아래 소스가 확장하거나 축소하는 함수이다. Bitmap.createScaledBitmap( bitmap ,bitmap.getWidth()*2 ,bitmap.getHeight()*2 ,true); 지금은 2배로 확장하는 소스 인데... 여기서 중요한게 마지막 매개변수의 true일 때와 false때의 차이점!!! false일 경우 : 지금 pixel형태 그대로 2배 늘려버려서 이미지가 깨지거나 흐려보이게 된다. true 일 경우 : 지금 이미지 pixel형태를 조정해 주어서 이미지가 선명하게 보이도록 도움을 준다. 주의) 이미지를 늘리거나 true옵션을 사용할 경우, 너무 큰 이미지는 Out of memory 오류가 발생할 가능성이 크므로, 주의해서 사용하길 바란다. 더보기
[Android] drawable-hdpi,drawable-mdpi,drawable-ldpi 안드로이드에선 drawable폴더에는 이미지파일을 넣어 둡니다. 모두들 알다시피, 안드로이드는 다양한 해상도를 1.6버전부터 제공하게 되었습니다. 그래서 그 해상도에 맞춰서 이미지의 사이즈도 조절을 해줘야 합니다. 이 때!! 해상도를 매번 확인하지 않고, 사용자가 drawable 폴더를 3개를 나눠서 지정을 해 놓으면, 자체적으로 해상도에 맞게 이미지가 적용이 되는 거지요. 당연 이미지에 접근 할 때는 -hdpi나 -mdpi는 필요없이 그냥 drawable을 통해서 이미지를 접근할 수 있습니다. [이미지 접근 방법] Resources res = context.getResources(); ImgData imgData = data.getBackground(); Bitmap background = null; .. 더보기
[Android] Opengl 텍스쳐 변경 시!!! 제가 하루 동안 갑자기 발생한 Memory over flow 때문에... 원래 제출 해야하는 날보다 하루 미루게 되었던 대 사건의 원인을 적어볼까 합니다. - 테스트 폰 : HTC 디자이어 HD, Sky Vega X - 문제: LiveWallpaper의 설정을 여러 번 바꾼 후에, 갑자기 핸드폰이 멈춰버리는 대 사건이!-0- - 원인: 거의 5시간을 걸쳐 디버깅 하고, 구글리을 해서 알아낸 결과! heap memory가 사라지지 않고, 계속 쌓이는 것이었습니다. 처음 Bitmap의 초기화를 잘 못했나 해서 받아들인 Bitmap에 전부 초기화를 했습니다. [Bitmap 초기화 방법] gl.glGenTextures(textures.length , textures, 0); gl.glBindTexture(GL1.. 더보기
[Android] Bitmap 이미지 가로 세로 회전 Bitmap 이미지를 90도 방향만큼 Rotate 시키는 함수 입니다. 가로가 세로보다 클 경우 이미지가 옆으로 눕혀서 보이는 것을 방지하기 위해 만들었습니다. 참조하세요.~ if(background.getHeight() < background.getWidth()){ background = imgRotate(background); } private Bitmap imgRotate(Bitmap bmp){ int width = bmp.getWidth(); int height = bmp.getHeight(); Matrix matrix = new Matrix(); matrix.postRotate(90); Bitmap resizedBitmap = Bitmap.createBitmap(bmp, 0, 0, width, .. 더보기
[Java] 시침과 분침 각도 이동 계산 분명 5분만 계산하면 금방 나올 수 있는 공식이지만, 혹시 원하시는 분 있을까봐 적어 놓습니다. public final static float HOUR_ANGLE_GAP = 0.5f; public final static int MINUTE_ANGLE_GAP = 6; // 초기화시 float hourRotateAngle = (hour * 30.0f)+(minute*0.5f); float minuteRotateAngle = minute*6; // 1분마다 이동시 float hourRotateAngle = hourRotateAngle+HOUR_ANGLE_GAP; float minuteRotateAngle = minuteRotateAngle+MINUTE_ANGLE_GAP; 그럼 잘 쓰세요~ 더보기
[Android] Opengl 사용 시 Antialiasing 작용 1. 아래에 두 옵션을 먼저 넣어보세요. 조금이나마 선이 부드럽게 바뀝니다. gl.glEnable(GL10.GL_LINE_SMOOTH); gl.glHint(GL11.GL_LINE_SMOOTH_HINT, GL11.GL_NICEST); 2. 만약 위와 같은 옵션을 줬어도 변함이 없는 경우 혹시, Texture에 Bitmap을 넣을 경우 Bitmap.createScaledBitmap이 함수를 사용하셨는지 확인해보세요. Bitmap.createScaledBitmap(src, dstWidth, dstHeight, filter); src : 원본 Bitmap dstWidth : 변경할 가로 사이즈 dstHeight : 변경할 세로 사이즈 filter : Bitmap에 부드럽게 보여주기 위한 필터 매개 변수 입니다... 더보기