본문 바로가기

나의 플랫폼

[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에 부드럽게 보여주기 위한 필터 매개 변수 입니다... 더보기
[JAX-RS] 공부를 시작하며... 안드로이드를 어플리케이션을 만들면서 느낀 점이, 정말 훌륭한 작품을 내기 위해서는 필요한 기술이 한 두개가 아니구나 하는 것을 느꼈습니다. 그 중에 하나가 Webservice기술! 구글의 날씨정보나 twitter의 정보 제공등을 보면 전부 Webservice기술이 적용 된 것들이다. 또한 Webservice기술에는 여러가지가 있는데, 예전 회사 대리님으르부터 소개 받은 Restful이론을 받아들이기로 했다. (다른 기술은 잘 알지 못함, 예제 보고 깔짝 만들어 보았음) 그래서 일본서점에서 이곳 저곳을 찾아본 결과, 선택한 책이 바로 우리에게 친숙한 O'Reilly사의 'javaによるRestfulシステム構築’다. 어느 정도 훑어 보긴 했지만, 지금 부터 퇴근 후 짬짬한 시간을 이용하여 달려볼까 생각중이다... 더보기
[Android] Opengl에 텍스쳐를 입힐 시 이미지가 안보이는 현상. 이미지가 보이지 않을 시에는 무엇보다! 벡터와 버퍼의 사이즈를 확실히 확인 한 후, gl.glEnable(GL10.GL_TEXTURE_2D);//Enable Texture Mapping 는 설정 되어 있는지! loadGLTexture(gl, this.context); 함수를 불러 들이셨는지! 이래도 보이지 않으시는 분들은, 혹시 BMP를 제외한 JPG나 PNG이미지 파일을 출력할려고 하신다면 bitmap을 리사이징 해줘야합니다. 정사각형 형태로. 64x64 , 128,128, 256x256,512x512 등.. Bitmap bitmap256 = Bitmap.createScaledBitmap(bitmap, 512, 512, true); 혹시 저같이 헤매시는 분을 위해 적어놓습니다. 죄송합니다. 꼭 저 위 .. 더보기
Unable to parse response from server 이 에러는 말 그대로 서버로 부터 응답이 없다는 메세지이다. 확인 할 것 1: Menifest.xml 파일에 위 세개를 추가 시켰는지 확인. 확인할 것 2: 핸드폰이나 예뮬레이터가 인터넷이 되는지 확인. 인터넷 창이나 마켓을 열어본다. 더보기