Devlopment/Mobile

    모바일상에서의 Network Programming

    모바일 교육을 받다가 듣게 된 여담이다. 모바일 상에서의 소켓 프로그래밍은 일반 소켓 프로그래밍과 틀리지 않다. 다만, 잘 쓰지 않던 UDP를 쓸 경우가 종종 있다. 설계 관점에서 생각해볼만한 문제이다. 국내 통신과금은 패킷 단위이다. 그러므로 TCP로 하게 되면 많이 주고받기 때문에 패킷이 많이 과금되며 서버에서의 오버헤드도 심하다. 그러므로 모바일 상에서는 UDP를 쓰는 것이 좋다. 그러나 서버에서 데이터를 보내야 할 때는 어쩔 수 없이 TCP를 써야한다. ex) 채팅 Android Socket Programming는 완벽히 J2SE와 동일하게 사용 가능하다. * Mobile 단말에서의 통신이라 자주 끊길 수 있음을 감안해야 한다. * TCP Protocol보다는 UDP Protocol을 권장하며, ..

    Android Sensor 활용

    Sensor의 경우에는 Primission이 없다. Sensor는 상대적으로 밧데리 소모량이 적고 개인정보와도 무관하기 때문인것 같다. Sensor 식별자 [1]에서 퍼온 식별자이다. 문제는 SENSOR_ALL과 같은 것은 버전 2 이하에서 쓰던 것이다. 2.0이상부터는 TYPE_으로 시작한다. Constants int TYPE_ACCELEROMETER A constant describing an accelerometer sensor type. int TYPE_ALL A constant describing all sensor types. int TYPE_GRAVITY A constant describing a gravity sensor type. int TYPE_GYROSCOPE A constant de..

    Android 진동 다루기

    Vibrator 클래스 장치 진동을 제어한다. Vibrator vibrator = (Vibrator)getSystemService(Context.VIBRATOR_SERVICE); vibrator.vibrate(100); // 배열을 주면 진동이 배열 시간대별로 울린다.

    Android Camera

    Android Camera

    Camera Class Cameara camera = Camera.open(); ... camera.release(); 카메라 설정 제어 카메라 Parameters 객체를 이용하여 이미지 크기, 미리보기, 포맷, 프레임 속도 등을 지정 Camera.Parameters parameters = camera.getParameters(); parameters.setPictureFormat(PixelFormat.JPEG); camera.setParameters(parameters); * 카메라 세팅 잘못하면 기기 특성을 타게 되서 어플이 죽을 수 있다. Camera 미리 보기 SurfaceView를 이용하여 실시간으로 카메라 미리보기를 표시할 수 있다. 현재 증감현실 어플리케이션 대부분이 이 기능을 이용한다. C..

    Android Drawing

    Bitmap을 그릴 때 Bitmap의 크기가 3mb가 넘으면 OutOfMemory가 날 가능성이 있다. 해결책) Options 를 이용해서 크기를 줄여준다. ex) Options opts = new Options(); opts.inSampleSize = 2; Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.kara_1); 일반적으로 좌표는 왼쪽위지만 다른 것과 다르게 Text는는 좌표가 좌측 하단에서 시작한다. 그러므로 0,0으로 좌표를 지정하면 화면에 나오지 않는다. XML에서 상태값이 없는 것이 맨 위에 있으면 아래값들을 무시한다. View를 상속받아서 onTouchEvent()를 구현할 경우 기본적으로 return은 "supe..

    안드로이드 OS Version 및 이름

    안드로이드 이름별 버전 및 API Level, 이름들 Version API Level Linux Kernel Nick Name Image 1.0 1 Android 1.1 2 1.5 3 2.6.27 Cupcake 1.6 4 2.6.29 Donut 2.0 5 Eclair 2.0.1 6 2.1 7 2.6.29 2.2 8 2.6.32 Froyo 2.3 9 Gingerbread 2.3.4 10 2.6.35 3.0 11 Honeycomb Reference [1] 위키피디아 - http://ko.wikipedia.org/wiki/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C_(%EC%9A%B4%EC%98%81_%EC%B2%B4%EC%A0%9C) [2] 즐거운 일상 - http://..

    Eclipse에서 안드로이드 개발시 Device가 안 잡힐 경우

    1. 올바른 드라이버 설치 - 해당 제조사 홈페이지에서 올바른 드라이버를 설치. 2. 안드로이드폰 설정 (이 설정시 잭을 분리하고 해야 함) - 메인메뉴 >> 환경설정 >> 응용프로그램 >> 개발 >> USB 디버깅 킴 3 작업관리자 adb종료 - 작업관리자 >> 프로세스 >> adb 프로세스 종료 ps : 기기가 연결이 안되서 고생하다가 위와 같이 하고 잭을 분리하고 연결하니 되었다.

    Mobile UI Framework

    Mobile UI Framework 웹 어플리케이션을 실제 모바일 디바이스의 Native 어플리케이션처럼 보여주도록 함 다양한 운영체제에 따라 별도로 개발하는 수고를 줄여줌 JQueryMobile이 배우기도 쉽고 많이 쓰인다고 하는데 아직 알파 버전이고 손으로 화면을 넘기는 효과같은 부분은 돼긴 하지만 힘들다고 한다. 장기적으로 볼 때는 Sencha Touch가 좋지 않을까 한다. Mobile UI Framework의 대표적인 종류 JQTouch - 2010년에 대세였지만 하락세 JQuery Mobile - 2011년에 많이 떠오름, 그러나 버그 투성 Sencha Touch - 상당히 좋음 Jo HTML Markup 기반 Javascript 기반 * 기존 웹 개발과 유사하며 직관적 * HTML Marku..

    Mobile Browser Header 분석

    * Server Side에서 HTTP Request Header중 User Agent값을 이용하여 사용자가 현재 접속한 단말기가 어떤 것인지 구분이 가능함 Device HTTP User Agent Header Sample iPhone Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_0 likeMac OS X; ja-jp) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1Mobile/5A345 Safari/525.20 iPad ... Android ... BackBerry ... Windows Phone 7 ... Bada ... 요 위의 샘플은 아래 사이트를 참고하자. Reference [1] http://user-agents.my-..

    jQuery Mobile 기본 코딩

    jQuery Mobile 기본 코딩

    JQueryMobile은 우선 SPI(Single Page Interface)를 중점으로 설계되었다. SPI가 무엇이냐? html페이지 하나에 여러 페이지를 다 작성하겠다는 것이다. html4의 #을 통한 즐겨찾기와 유사한데 틀린 점은 각 내부 페이지가 별개의 페이지로 보여진다는 것이다. ... ... [source 1] 초기 로드 ... 소스 작성 ... [Source 2] SPI형태의 페이지 작성 slide [Source 3] 버튼 [그림 1] 버튼 about [Source 4] 삭제 버튼 [그림 2] 삭제 버튼 YES NO AAA [Source 5]