본문 바로가기

Android

(43)
JSON JSONObjectString jsonString = "json string"; JSON 데이터는 { } 로 묶인 오브젝트와, 오브젝트 하위에 "키":"값", "키":"값" , 와 같이,(콤마)로 키-밸류로 이루어진 옵션 값으로 구성된다. {"TopObject":{"KEY01":"VALUE01","KEY02":"VALUE02""SubObject":{"S_KEY01":"S_VALUE01","S_KEY02":"S_VALUE02"}}} 옵션값은 [ ] 를 사용해 배열로 구성될 수도 있다. 파싱JSONObject json = new JSONObject( jsonString ); * 값 얻기String value = json.getString("KEY01"); * 오브젝트별 파싱해 값 얻기JSONObject to..
HTTP POST/GET 몇가지 정리 연결정보String url="https://my.site.com/test" 클라이언트 생성HttpClient client = new DefaultHttpClient();// 아래 파라미터를 미리 설정 후 파라미터를 기반으로 생성해도 된다. 파라미터설정 : CoreProtocolPNamesPROTOCOL_VERSION : 프로토콜 버전USER_AGENT : User-Agent 헤더.. HttpParams params = client.getParams(); // 프로토콜 정의params.setParameter( CoreProtocolPName.PROTOCOL_VERSION, HttpVersion.HTTP_1_1); // client 생성하지 않은경우 생성// HttpClient client = new Def..
OpenGL es 조명 > 조명 종류주변광(ambient) : 특정한 방향성이 없는 빛, 오브젝트의 모든 면에 영향을 미치고 밝기도 동일분산광(diffuse) : 특정 방향에서 들어와 여러 방향으로 반사되는 빛. 빛을 직접 받는 부분일수록 밝아진다.반사광(specular) : 특정 방향에서 들어와 특정 방향으로 반사되는 빛. > 노말벡터방향성이 있고, 특정방향으로 반사되는 조명의 경우기존 모델에 노말벡터를 위한 버퍼가 추가로 필요하다.노말 벡터는 길이가 1인 단위벡터로 빛의 정도와 반사를 계산하기 위해 필요한 정보.버텍스와 같이 glVertex / glNormal 로 쌍으로 구성하거나 , array의 포인터를 전달하면 된다. > 라이팅 활성화glEnable( GL10.GL_LIGHTING ); > 사용할 라이트 번호(0~7) ..
API demos openGL es 2.0 ApiDemos GLES20Activity.java / GLES20TriangleRenderer.javaglVertexAtribPointer() , glDrawElemnts() 등 몇가지 메쏘드는 안드로이드버전 2.3 이상.. >> 2.0 호환여부 검사ActivityManager am = (ActivityManager) getSystemService( Context.ACTIVITY_SERVICE );ConfigurationInfo info = am.getDeviceConfigurationInfo();if (info.reqGlEsVersion >= 0x20000 ) {// 지원함} 2.0 은 기존 그래픽 파이프라이의 버텍스, 프레그먼트 프로세스가 쉐이더로 변경되었다.렌더러에서 GL10 인터페이스는 무시되며..
GLSurfaceView 배경 투명하게 GLSurfaceView 배경 투명하게 만들기 관련소스 : APIDemos/src/com.example.android.apis.graphics/TranslucentGLSurfaceViewActivity.java GLSurfaceView는 기본 값이 알파채널이 적용되지 않아서,glClearColor( 0,0,0,0 ); 으로 해도 투명값이 설정되지 않는다. EGL을 통해 SurfaceView를 핸들링하므로, 뷰 생성후 EGL, SurfaceView관련 설정만 하면 알파값을 사용할 수 있다. GLSurfaceView myView = new GLSurfaceView(this); // 픽셀포맷을 32비트포맷(8,8,8,8)으로 변경한다.myView.setEGLConfigChooser( 8, 8, 8, 8, 16..
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..