본문 바로가기

나의 플랫폼

[ Android ] Offset까지 포함한 전체 사이즈 구하기. 제가 LiveWallpaper를 개발을 많이 해서 화면의 Offset을 자주 이용하는데요. 요새 화면이 너무 제각각이고, 더 짜증나는게 Offset의 사이즈도 제각각이 되어버렸네요;; 전에 핸드폰으로 할 때에는 540을 더해줘서 생각해주면 문제가 없었는데.. 이제는 패드.. 7.5인치 핸드폰 등등... 정말 죽을 맛이죠;; 결국 구글링을 해본 결과!!! Offset까지 포함한 Width와 Height 사이즈를 구하는 방법을 찾았습니다. 한 시간 정도? 찾았나... 역시 간단하게 제공하더라구요. WallpaperManager wm = WallpaperManager.getInstance(mContext); wm.getDesiredMinimumWidth(); 위 함수의 리턴 값이 바로! 저희들이 원하는 값입니.. 더보기
[ Android ] Opengl es 2.0 다시 그리기 ByteBuffer pixelBuffer; void storePixels() { try { GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER, fbuf); pixelBuffer = ByteBuffer.allocateDirect(width * height * 4).order(ByteOrder.nativeOrder()); GLES20.glReadPixels(0, 0, width, height, GL20.GL_RGBA, GL20.GL_UNSIGNED_BYTE, pixelBuffer); GLES20.glBindFrameBuffer(GLES20.GL_FRAMEBUFFER, 0); gfx.checkGlError("store Pixels"); }catch (OutOfMemoryErr.. 더보기
[ Android ] ColorMask 사용하기 글로우 효과를 내거나 이미지에 발광 효과를 줄려고 할 때 사용하면 괜찮을 것 같아서 이렇게 글을 남깁니다. Opengl es 같은 경우 자체적으로 diffuse(범위) 빛 효과 값을 이용하여 글로우 효과를 표현하기도 하는 것 같은데요.. 만약 랜더링 되지 않은 그냥 bitmap 파일을 글로우 효과를 낼려면.. 어쩔수 없이 bitmap 자체를 변경 시켜줘야 한다는 게 몇일 간 조사한 저의 결과 였습니다. bitmap변경은 다음과 같이 이용하였습니다. // bitmap 소스를 받아온다. Bitmap tmpbitmap = BitmapFactory.decodeStream(mContext.getResources().openRawResource(R.raw.lightmap)); tmpbitmap = Bitmap.cr.. 더보기
[ Android ] FPS 구하기 현재 개발중인 App의 FPS를 물어보시는 분이 많아서, 결국 구하는 방법을 만들었다. 공식만 알고 나니 간단했다. 먼저 전역 변수로 세가지를 셋팅! long fpsStartTime = 0L; // Frame 시작 시간 int frameCnt = 0; // 돌아간 Frame 갯수 double timeElapsed = 0.0f; // 그 동안 쌓인 시간 차이 void 반복 함수(){ //시간 차이 구하기 long fpsEndTime = System.currentTimeMillis(); float timeDelta = (fpsEndTime - fpsStartTime) * 0.001f; // Frame 증가 셋팅 frameCnt++; timeElapsed += timeDelta; // FPS를 구해서 로그로 .. 더보기
[ Android ] android emulator-arm error 에뮬레이터를 사용하는데 이런 오류가 보일 경우가 있다. invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe 위와 같은 오류는 android sdk를 설정할 때, "Program files"가 포함되어 있어서 그렇다. 즉, 띄어쓰기를 포함되면 안된다는 의미이다. 그래서 이럴 경우 간단한 해결 책! sdk경로가 만약 : c:\Program files\android-sdk 수정 된 sdk 경로 : c:\PROGRA~1\android-sdk 이것만 직접 입력하여서 수정하면 된다. ㅎㅎ 그럼 오늘도 즐거운 코딩 하세요 ㅎㅎ 더보기
[ Android ] EditText 포커스와 키보드 나타내기 AndroidManifest.xml java소스 ( OnCreate함수 안에) // 포커스 적용 form.setPrivateImeOptions("defaultInputmode=english;"); form.requestFocus(); // 키보드 보여주기 InputMethodManager imm = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE); imm.showSoftInput(this.form, InputMethodManager.SHOW_FORCED); imm.showSoftInputFromInputMethod (this.form.getApplicationWindowToken(),InputMethodManager.SHO.. 더보기
[ Android ] EditText에 기본적으로 영어 자판 설정하기 edittext.setPrivateImeOptions("defaultInputmode=english;"); edittext는 당연 EditText이구요. 저 옵션만 넣어주면 되네요 ㅎㅎ 참고 하세요 ㅎ 출처 : http://202psj.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-%EC%98%81%EB%AC%B8-%ED%82%A4%EB%B3%B4%EB%93%9C-%EB%82%98%EC%98%A4%EA%B2%8C-%ED%95%98%EA%B8%B0-%EA%B4%80%EB%A0%A8 더보기
[ Android ] 무선 인터넷과 GPS 상태 확인 법 //인터넷에 연결돼 있나 확인 ConnectivityManager connect = (ConnectivityManager)getSystemService(CONNECTIVITY_SERVICE); if ( connect.getNetworkInfo(ConnectivityManager.TYPE_MOBILE).getState() == NetworkInfo.State.CONNECTED || connect.getNetworkInfo(ConnectivityManager.TYPE_WIFI).getState() == NetworkInfo.State.CONNECTED ) { isInternetEnabled = true; } else { isInternetEnabled = false; } if (myLocationManage.. 더보기