본문 바로가기

분류 전체보기

(401)
최상위 뷰 만들기 Toast와 같이 최상위에 뷰 띄우기. Toast도 일반적인 뷰처럼 구성하고, 윈도우에 add 하는 구조로 작성되어 있다.간단히 Toast와 같이 최상위에 뷰를 띄우는 요소들에 대해 정리. 1. 레이아웃 구성Toast는 makeText라는 static 메쏘드를 제공하는데, 간단히 토스트를 띄울 수 있도록한 메쏘드다.요녀석을 살펴보면, 흔히 사용되는 루틴으로 이루어져 있다...LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = inflate.inflate( com.android.internal.R.layout.transient_notification, null);..
OpenGL 프레임버퍼 사용 API DEMOS에 프레임버퍼를 사용해 텍스처에 그림을 그리는(Render to texture) 예제가 포함되어 있다. 프레임버퍼는 openGL 2.0 부터 지원하는데, 예제에서는 extension pack 을 통해 1.1에서프레임버퍼를 사용하는 예제를 다루고 있다. >> onSurfaceCreated 1. 프레임버퍼 지원 여부 검사String extensions=" " + gl.glGetString(GL10.GL_EXTENSIONS) + " ";if( extensions.indexOf(" GL_OES_framebuffer_object " ) >= 0)return true; 2. 텍스처 생성int tex_id;int[] textures = new int[1];gl.glGenTexture(1, textur..
ADB tcp/usb 연결설정 일시적 TCP 모드 사용 : 특정 단말은 재부팅해도 유지되는 듯..> USB 연결> adb tcpip 포트번호> adb connect 단말ip:포트번호 USB모드로 변경> adb usb 단말 프로퍼티에 등록 : 항상 tcp 연결되도록 설정할때> adb shell$ setprop service.adb.tcp.port 포트번호$ stop adbd$ start adbd$ exit> adb connect ip:port 프로퍼티 등록 해제 : 포트번호를 -1로 설정> adb shell $ setprop service.adb.tcp.port -1
sdk3.0 fragment를 하위버전에서 사용하기 3.0 허니콤의 Fragment 를 진저 2.3.3 에서 돌리기 위한 설정 참조 : http://developer.android.com/sdk/compatibility-library.html Fragment란 녀석이 생명주기를 가지는데..이게 Activity 종속적인 일종의커스텀 레이아웃이라 볼 수 있다. 2.3.3에는 Activity에 해당 메쏘드나 처리가 없으니 호환 라이브러리에서는FragmentActivity를 제공하고 있다. 2.3.3이 아니더라도 상관없으나 지금 많이 사용하는게 이녀석이라... -_-;; 1. AVD 매니저로 Android Compatiblility package 설치 2. android-sdk-windows\extras\android\compatibility\v4\android..
셀프도배 도배준비 셀프 도배 준비 준비물 벽지 풀 : 가루풀 ( 벽지 1롤에 200g 정도 ) 본드 : 수성 본드 풀칠용 붓 벽지용 솔 내지는 빗자루 : 물걸레로도 됨..걍 손으로도 됨 -_-;;;운용지(창호지) : 초배시나 실크벽지의 경우 부직포 위에 기둥 용도로 사용. 초배지 : 초배시 사용 부직포 : 부직포를 사용해 초배지 대신 사용도배용 지물본드 : 수성본드 오공 본드를 주로 사용하는듯.. 기타 : 커터, 헤라, 분무기, 풀 혼합용 통 보양지, 보양비닐깔판: 음 용어가 생소 -_-;; 그냥 바닥에 까는 용도의 종이나 비닐 류 등 일단 기존 벽지상태와 도배지에 따라 준비물이 줄어드는데, 기존 벽지가 실크라면 벽지의 필름(pvc) 부분만 제거후기존 벽지 위에 운용지로 기둥을 만들고 바로 도배.초배가 필요하면, 부직포로..
SurfaceView/GLSurfaceView 쩝.. 프로젝트도 진행 중인데, opengl을 좀 봐달라는 부탁이..어째 opengl은 만져볼 일이 전혀 없었다.웬만한건 hollo world는 거쳐보는데, opengl의 hello world 기억은 없다.물론 이쪽의 hello world는 삼각형 일테지만... 아니 큐브던가? 긁적.. 그나마 Direct3D ,Unity3D 만져본게 다행~ 아무튼 단기간에 기본 사항을 살펴보고, 세부 항목을 살펴보기로 해 기본적인것 부터 다시 점검.쩝. 안드로이드는 뷰들이 모여 윈도우로 구성되고, 이 윈도우들은 각각 서피스라는 공간에 표시하게 된다.이러한 서피스들이 모여 서피스 플링거를 통해 프레임버퍼로 합쳐져 화면에 보여지게 된다. 안드로이드 api 단에서 이러한 서피스의 핸들링을 위해 지원되는 클래스가 Surface..
Custom layout, layoutinflater 커스텀 레이아웃과 LayoutInflater 레이아웃은 View을 상속받아 만드는 커스텀뷰와 큰 차이는 없으나, 자식뷰들이 존재하므로 그에대한고려만 추가해 주면 된다.LayoutInflater를 통해 액티비티용으로 구성된 레이아웃을 붙여 다른 뷰그룹에 포함될 수 있는커스텀 레이아웃을 만들수 있다. 커스텀 레이아웃은 ViewGroup을 상속받으며,onMeasure() , onLayout() 메쏘드를 오버라이딩해 구현해 주어야 한다. 뷰와 차이는 없으나 자식뷰에 대한 처리가 추가된다.각 자식뷰를 돌면서 사이즈 정보를 넘겨야 한다. protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int count = getChildCo..
MediaStore 썸네일 데이터 관련 정리 >> 오디오오디오의 경우 MediaStore.Audio.Media 에 컨텐츠 정보, MediaStore.Audio.Albums에 썸네일 정보가 저장되어 있다. 앨범별 썸네일을 관리하는 이유는 컨텐츠별 썸네일과의 중복 문제 때문이다. 따라서, MediaStore.Audio.Media 로 컨텐츠 검색 후, MediaStore.Audio.AudioColumns.ALBUM_ID 로 다시 앨범 테이블을 검색해야 원하는 썸네일을 얻을 수 있다. 데이터 취득 절차이미지 uri를 얻어 바로 불러 오는 형태를 사용하나, 일단 기본 적인 순서는 아래와 같다. MediaStore.AudioMeida.EXTERNAL_CONTENT_URI에서 MediaStore.Audio.Media를 쿼리해 미디어 정보를 얻음. 커서얻기con..