2012. 8. 27. 09:51
MIME type이란 Multipurpose Internet Mail Extensions의 약어로 메시지 컨텐트 형식을 정의하기 위한 인터넷 표준을 말합니다. MIME 메시지는 텍스트, 이미지, 오디오, 비디오, 및 기타 애플리케이션의 특정 데이터를 포함할 수 있으며 일반적으로 홈페이지 상에 표현되는 멀티미디어 데이타에 대한 형식을 말합니다. 클라이언트의 웹브라우저나 웹사이트를 제공하는 웹서버에서 MIME Type이 등록되지 않는다면 사용자들은 해당하는 컨텐트를 웹브라우저에서 볼 수 없게 됩니다. 공식 MIME 정보는 IETF(Internet Engineering Task Force)에서 RFC 기준으로 정의하고 있습니다.


  • RFC-822   ARPA 인터넷 텍스트 메시지에 대한 표준
  • RFC-2045 MIME Part 1: 인터넷 메시지 본문의 형식
  • RFC-2046 MIME Part 2: 미디어 형식
  • RFC-2047 MIME Part 3: 비-ASCII 텍스트에 대한 헤더 확장
  • RFC-2048 MIME Part 4: 등록 프로시져
  • RFC-2049 MIME Part 5: 적합한 기준 및 예시

  • 컨텐트 형식으로 본 MIME Type

    Type/sub-typeExtension
    application/envoyevy
    application/fractalsfif
    application/futuresplashspl
    application/htahta
    application/internet-property-streamacx
    application/mac-binhex40hqx
    application/msworddoc
    application/msworddot
    application/octet-stream*
    application/octet-streambin
    application/octet-streamclass
    application/octet-streamdms
    application/octet-streamexe
    application/octet-streamlha
    application/octet-streamlzh
    application/odaoda
    application/olescriptaxs
    application/pdfpdf
    application/pics-rulesprf
    application/pkcs10p10
    application/pkix-crlcrl
    application/postscriptai
    application/postscripteps
    application/postscriptps
    application/rtfrtf
    application/set-payment-initiationsetpay
    application/set-registration-initiationsetreg
    application/vnd.ms-excelxla
    application/vnd.ms-excelxlc
    application/vnd.ms-excelxlm
    application/vnd.ms-excelxls
    application/vnd.ms-excelxlt
    application/vnd.ms-excelxlw
    application/vnd.ms-outlookmsg
    application/vnd.ms-pkicertstoresst
    application/vnd.ms-pkiseccatcat
    application/vnd.ms-pkistlstl
    application/vnd.ms-powerpointpot
    application/vnd.ms-powerpointpps
    application/vnd.ms-powerpointppt
    application/vnd.ms-projectmpp
    application/vnd.ms-workswcm
    application/vnd.ms-workswdb
    application/vnd.ms-workswks
    application/vnd.ms-workswps
    application/winhlphlp
    application/x-bcpiobcpio
    application/x-cdfcdf
    application/x-compressz
    application/x-compressedtgz
    application/x-cpiocpio
    application/x-cshcsh
    application/x-directordcr
    application/x-directordir
    application/x-directordxr
    application/x-dvidvi
    application/x-gtargtar
    application/x-gzipgz
    application/x-hdfhdf
    application/x-internet-signupins
    application/x-internet-signupisp
    application/x-iphoneiii
    application/x-javascriptjs
    application/x-latexlatex
    application/x-msaccessmdb
    application/x-mscardfilecrd
    application/x-msclipclp
    application/x-msdownloaddll
    application/x-msmediaviewm13
    application/x-msmediaviewm14
    application/x-msmediaviewmvb
    application/x-msmetafilewmf
    application/x-msmoneymny
    application/x-mspublisherpub
    application/x-msschedulescd
    application/x-msterminaltrm
    application/x-mswritewri
    application/x-netcdfcdf
    application/x-netcdfnc
    application/x-perfmonpma
    application/x-perfmonpmc
    application/x-perfmonpml
    application/x-perfmonpmr
    application/x-perfmonpmw
    application/x-pkcs12p12
    application/x-pkcs12pfx
    application/x-pkcs7-certificatesp7b
    application/x-pkcs7-certificatesspc
    application/x-pkcs7-certreqrespp7r
    application/x-pkcs7-mimep7c
    application/x-pkcs7-mimep7m
    application/x-pkcs7-signaturep7s
    application/x-shsh
    application/x-sharshar
    application/x-shockwave-flashswf
    application/x-stuffitsit
    application/x-sv4cpiosv4cpio
    application/x-sv4crcsv4crc
    application/x-tartar
    application/x-tcltcl
    application/x-textex
    application/x-texinfotexi
    application/x-texinfotexinfo
    application/x-troffroff
    application/x-trofft
    application/x-trofftr
    application/x-troff-manman
    application/x-troff-meme
    application/x-troff-msms
    application/x-ustarustar
    application/x-wais-sourcesrc
    application/x-x509-ca-certcer
    application/x-x509-ca-certcrt
    application/x-x509-ca-certder
    application/ynd.ms-pkipkopko
    application/zipzip
    audio/basicau
    audio/basicsnd
    audio/midmid
    audio/midrmi
    audio/mpegmp3
    audio/x-aiffaif
    audio/x-aiffaifc
    audio/x-aiffaiff
    audio/x-mpegurlm3u
    audio/x-pn-realaudiora
    audio/x-pn-realaudioram
    audio/x-wavwav
    image/bmpbmp
    image/cis-codcod
    image/gifgif
    image/iefief
    image/jpegjpe
    image/jpegjpeg
    image/jpegjpg
    image/pipegjfif
    image/svg+xmlsvg
    image/tifftif
    image/tifftiff
    image/x-cmu-rasterras
    image/x-cmxcmx
    image/x-iconico
    image/x-portable-anymappnm
    image/x-portable-bitmappbm
    image/x-portable-graymappgm
    image/x-portable-pixmapppm
    image/x-rgbrgb
    image/x-xbitmapxbm
    image/x-xpixmapxpm
    image/x-xwindowdumpxwd
    message/rfc822mht
    message/rfc822mhtml
    message/rfc822nws
    text/csscss
    text/h323323
    text/htmlhtm
    text/htmlhtml
    text/htmlstm
    text/iulsuls
    text/plainbas
    text/plainc
    text/plainh
    text/plaintxt
    text/richtextrtx
    text/scriptletsct
    text/tab-separated-valuestsv
    text/webviewhtmlhtt
    text/x-componenthtc
    text/x-setextetx
    text/x-vcardvcf
    video/mpegmp2
    video/mpegmpa
    video/mpegmpe
    video/mpegmpeg
    video/mpegmpg
    video/mpegmpv2
    video/quicktimemov
    video/quicktimeqt
    video/x-la-asflsf
    video/x-la-asflsx
    video/x-ms-asfasf
    video/x-ms-asfasr
    video/x-ms-asfasx
    video/x-msvideoavi
    video/x-sgi-moviemovie
    x-world/x-vrmlflr
    x-world/x-vrmlvrml
    x-world/x-vrmlwrl
    x-world/x-vrmlwrz
    x-world/x-vrmlxaf
    x-world/x-vrmlxof


    파일 확장자로 본 Mime Types

    ExtensionType/sub-type
     application/octet-stream
    323text/h323
    acxapplication/internet-property-stream
    aiapplication/postscript
    aifaudio/x-aiff
    aifcaudio/x-aiff
    aiffaudio/x-aiff
    asfvideo/x-ms-asf
    asrvideo/x-ms-asf
    asxvideo/x-ms-asf
    auaudio/basic
    avivideo/x-msvideo
    axsapplication/olescript
    bastext/plain
    bcpioapplication/x-bcpio
    binapplication/octet-stream
    bmpimage/bmp
    ctext/plain
    catapplication/vnd.ms-pkiseccat
    cdfapplication/x-cdf
    cerapplication/x-x509-ca-cert
    classapplication/octet-stream
    clpapplication/x-msclip
    cmximage/x-cmx
    codimage/cis-cod
    cpioapplication/x-cpio
    crdapplication/x-mscardfile
    crlapplication/pkix-crl
    crtapplication/x-x509-ca-cert
    cshapplication/x-csh
    csstext/css
    dcrapplication/x-director
    derapplication/x-x509-ca-cert
    dirapplication/x-director
    dllapplication/x-msdownload
    dmsapplication/octet-stream
    docapplication/msword
    dotapplication/msword
    dviapplication/x-dvi
    dxrapplication/x-director
    epsapplication/postscript
    etxtext/x-setext
    evyapplication/envoy
    exeapplication/octet-stream
    fifapplication/fractals
    flrx-world/x-vrml
    gifimage/gif
    gtarapplication/x-gtar
    gzapplication/x-gzip
    htext/plain
    hdfapplication/x-hdf
    hlpapplication/winhlp
    hqxapplication/mac-binhex40
    htaapplication/hta
    htctext/x-component
    htmtext/html
    htmltext/html
    htttext/webviewhtml
    icoimage/x-icon
    iefimage/ief
    iiiapplication/x-iphone
    insapplication/x-internet-signup
    ispapplication/x-internet-signup
    jfifimage/pipeg
    jpeimage/jpeg
    jpegimage/jpeg
    jpgimage/jpeg
    jsapplication/x-javascript
    latexapplication/x-latex
    lhaapplication/octet-stream
    lsfvideo/x-la-asf
    lsxvideo/x-la-asf
    lzhapplication/octet-stream
    m13application/x-msmediaview
    m14application/x-msmediaview
    m3uaudio/x-mpegurl
    manapplication/x-troff-man
    mdbapplication/x-msaccess
    meapplication/x-troff-me
    mhtmessage/rfc822
    mhtmlmessage/rfc822
    midaudio/mid
    mnyapplication/x-msmoney
    movvideo/quicktime
    movievideo/x-sgi-movie
    mp2video/mpeg
    mp3audio/mpeg
    mpavideo/mpeg
    mpevideo/mpeg
    mpegvideo/mpeg
    mpgvideo/mpeg
    mppapplication/vnd.ms-project
    mpv2video/mpeg
    msapplication/x-troff-ms
    mvbapplication/x-msmediaview
    nwsmessage/rfc822
    odaapplication/oda
    p10application/pkcs10
    p12application/x-pkcs12
    p7bapplication/x-pkcs7-certificates
    p7capplication/x-pkcs7-mime
    p7mapplication/x-pkcs7-mime
    p7rapplication/x-pkcs7-certreqresp
    p7sapplication/x-pkcs7-signature
    pbmimage/x-portable-bitmap
    pdfapplication/pdf
    pfxapplication/x-pkcs12
    pgmimage/x-portable-graymap
    pkoapplication/ynd.ms-pkipko
    pmaapplication/x-perfmon
    pmcapplication/x-perfmon
    pmlapplication/x-perfmon
    pmrapplication/x-perfmon
    pmwapplication/x-perfmon
    pnmimage/x-portable-anymap
    pot,application/vnd.ms-powerpoint
    ppmimage/x-portable-pixmap
    ppsapplication/vnd.ms-powerpoint
    pptapplication/vnd.ms-powerpoint
    prfapplication/pics-rules
    psapplication/postscript
    pubapplication/x-mspublisher
    qtvideo/quicktime
    raaudio/x-pn-realaudio
    ramaudio/x-pn-realaudio
    rasimage/x-cmu-raster
    rgbimage/x-rgb
    rmiaudio/mid
    roffapplication/x-troff
    rtfapplication/rtf
    rtxtext/richtext
    scdapplication/x-msschedule
    scttext/scriptlet
    setpayapplication/set-payment-initiation
    setregapplication/set-registration-initiation
    shapplication/x-sh
    sharapplication/x-shar
    sitapplication/x-stuffit
    sndaudio/basic
    spcapplication/x-pkcs7-certificates
    splapplication/futuresplash
    srcapplication/x-wais-source
    sstapplication/vnd.ms-pkicertstore
    stlapplication/vnd.ms-pkistl
    stmtext/html
    svgimage/svg+xml
    sv4cpioapplication/x-sv4cpio
    sv4crcapplication/x-sv4crc
    swfapplication/x-shockwave-flash
    tapplication/x-troff
    tarapplication/x-tar
    tclapplication/x-tcl
    texapplication/x-tex
    texiapplication/x-texinfo
    texinfoapplication/x-texinfo
    tgzapplication/x-compressed
    tifimage/tiff
    tiffimage/tiff
    trapplication/x-troff
    trmapplication/x-msterminal
    tsvtext/tab-separated-values
    txttext/plain
    ulstext/iuls
    ustarapplication/x-ustar
    vcftext/x-vcard
    vrmlx-world/x-vrml
    wavaudio/x-wav
    wcmapplication/vnd.ms-works
    wdbapplication/vnd.ms-works
    wksapplication/vnd.ms-works
    wmfapplication/x-msmetafile
    wpsapplication/vnd.ms-works
    wriapplication/x-mswrite
    wrlx-world/x-vrml
    wrzx-world/x-vrml
    xafx-world/x-vrml
    xbmimage/x-xbitmap
    xlaapplication/vnd.ms-excel
    xlcapplication/vnd.ms-excel
    xlmapplication/vnd.ms-excel
    xlsapplication/vnd.ms-excel
    xltapplication/vnd.ms-excel
    xlwapplication/vnd.ms-excel
    xofx-world/x-vrml
    xpmimage/x-xpixmap
    xwdimage/x-xwindowdump
    zapplication/x-compress
    zipapplication/zip


    출저 : http://hanulnun.egloos.com/2694379

    링크: http://blog.naver.com/cache798/130004442223
    MIME 개념잡기, MIME 타입 심층분석,MIME 타입 예 를 볼 수 있습니다.


    Posted by hoonihoon
    2012. 8. 27. 09:30

    본문스크랩 WM에서의 GPS 구동 원리(스마트 폰만의 위치 추적 처리) - 2탄입니다. 비공개 GPS

    2011/01/04 16:53 수정 삭제

    복사 http://blog.naver.com/mahamaha7777/150100161900

    출처 카페 > 스마트폰카페[갤럭시S/아이폰.. | jinhwkim00
    원문 http://cafe.naver.com/bjphone/623307

    어제 올린글(http://cafe.naver.com/bjphone/620278)이 도움이 되셨다는 분이 많아 하나 더 적어볼렵니다.

     

    티옴니아 쓰시는 분들중 전용요금제를 쓰시는 분들은 TMap이 무료라 많이들 사용하시는거 같은데 TMap 사용시에는 GPS잡는 속도가 많이 다르다는 글이 많이 올라오더군요.(전 쇼옴니아라 체험해보지는 못했습니다.)

     

    TMap에서는 보통 다른 S/W가 사용하는 GPS와는 다른 방식으로 처리하는 것으로 알고있습니다.

    GPS + 현 위치의 기지국 정보를 이용하는 겁니다.

     

    전번 글에 XTRA가 퀄컴의 Assisted GPS 기술이라고 말씀드렸는데요, 사실 XTRA는 퀄컴의 GPS관련 기술중 가장 막내(2007년)입니다. XTRA는 원래 Offline 상태에서 단독 사용을 고려해 둔 기술이지요. 이건 최근의 스마트 폰 추세를 반영한게 아닌가 싶습니다.

     

    퀄컴의 GPS기술은 gpsOne이라는 상표명을 가지고 있는데 여기에는 MS-assited, MS-based, MS-assited, MS-assited/Hybrid, XTRA Assistance가 그겁니다. (여기서 MS는 마이크로소프트가 아니고 Mobile Station - 기지국을 뜻합니다.)

     

    MS-assited 방식은 단말기가 현재 연결된 기지국ID와 현재 수신되고 있는 GPS 신호를 서버에 보냅니다. 서버는 현재의 해당 기지국 근처의 GPS위성들의 정확한 위치와 정확한 시각 등을 항상 유지하고 있으므로 금방 단말기의 위치를 계산할 수 있습니다. 그런 다음 이 좌표를 다시 단말기에 통신으로 보내줍니다. 단 이 방식은 서버와 계속 통신하지 않으면 현 위치를 계속해서 알아낼 수 없습니다. 하지만 단말에는 위치를 계산하기위한 부분이 필요하지 않고 GPS 전파를 수신하는 부분과 전화 모듈만 있으면(단말기의 원가를 최소로 하면서...) 원하는 시점에 위치를 아주 빠르게 파악할 수 있습니다. 친구찾기 등의 서비스와 같이 추적이 필요없이 현재의 위치만 필요로 한 경우 아주 Good입니다.

     

    MS-based 방식은 저번글의 XTRA와 비슷한 방식입니다. 현시점의 전체 위성의 궤도 정보를 받아 이를 이용하는 XTRA와 달리 서버에 기지국의 정보를 보내면 서버는 기지국의 위치로 단말의 대략의 위치를 알수 있으므로 그 위치를 기반으로해서 수신이될 만한 위성의 위치 및 정보만을 보내줍니다. XTRA에 비해 훨씬 적지만 더 정확한 정보지요. 이걸 단말이 GPS장치에 전달해주면 GPS는 이 정보를 기반으로 위치를 계산합니다. 예전부터 폰기반의 네비게이션이 이 방식을 이용했고 TMap도 이걸이용하지 않나 싶습니다.

     

    MS-assited/Hybrid 방식은 GPS 신호가 없을때 기지국 정보들 만을 가지고 위치를 파악하는 방식입니다. 사실 도심지의 경우 한 위치에서 1개의 기지국의 전파만이 수신되는 경우는 극히 드뭅니다. 하지만 일반적으로 가장 센 전파강도를 가진 기지국에 자신을 등록하고 사용합니다. 위치 계산때는 등록되지 않은 다른 기지국의 정보를 추가적으로 서버에 보냅니다.(기지국ID/전파 강도 등) 그러면 서버는 각 기지국의 정확한 위치와 전파 강도(이걸로 기지국에서 얼마나 떨어졌나를 유추할 수 있습니다) 등을 고려(삼각측량...)하여 단말기의 대략적인 위치를 계산해 낸 후 단말에 알려주는 거지요. 이건 실내에 있을때와 같이 GPS신호를 전혀 수신할 수 없을때 효과적인 방법입니다.

     

    퀄컴의 기술을 주로 설명한 가장 큰 이유는 2G까지 우리나라가 CDMA기술을 이용했기 때문입니다. 기지국 정보를 이용하는 위치정보 시스템을 만들기 위해서는 이를 처리 가능한 단말과 관련 서버기술이 필요한데 CDMA특허권을 가지고 있던 퀄컴이 자신의 휴대폰 칩셋의 부가 칩셋으로 gpsOne을 팔면서 해당 시스템까지 울나라 통신사들에게 판거죠. 그래서 우리나라 통신사들은 모두 퀄컴 gpsOne기반의 위치기반시스템을 갖추고 있습니다.

    지금은 3G로 넘어오면서 꼭 퀄컴의 칩을 써야할 이유는 없지만, 기존의 CDMA때 구축한 시스템들을 활용하는데는 퀄컴의 칩(gpsOne)들이 필요할껍니다. 또한 우리나라 핸드폰 제작업체(삼성, LG 등)가 가장 잘 아는 칩셋이니 이걸 쓰는게 그다지 손해는 아닐겁니다.

     

    이런 기술들을 내가 만드는 어플에 직접 활용할 수 있을까요? 그건 쉽지 않은 듯 합니다. 일단 통신사가 구축한 시스템(서버)에 접속해야 하는 관계로 사용방법이 알려져있지 않습니다. 예전 위피(WIPI - WI-FI가 아닙니다.)시절에도 위치정보를 이용할 수 있는 API는 존재했지만 특별히 허가받은 관련업체와 허가된 어플만이 이 API를 쓸수 있었습니다.

    뭐 우리나라가 분단상황이라는 특별한 상황때문에 군사적인 이유로 법률적인 제제도 상당부분 존재합니다.(인정합니다.)

     

    사실 아이폰만 없었더라면 그런가부다 하고 대부분의 사람들이 그냥 넘어갔을지도 모릅니다.

     

    아이폰...

     

    이놈은 제가 설명드린 대부분의 방법을 지가 알아서 그때그때 사용하는 듯 합니다. 거기에 무선랜 AP기반의 위치 추적등 새로운 기술도 포함하고 있다네요... 어플리케이션을 구현할때는 그냥 현재위치 가져다 쓰면 됩니다. GPS를 켜고 뭘하고 이런거 없습니다. OS가 알아서 다해줍니다.

     

    솔찍히 부럽습니다. 하지만 좀 기분 나쁜 부분도 있습니다. 어떤원리로 어떻게 위치를 파악하는지 사용자는 고사하고 개발자에게도 안가르쳐줍니다. (그냥 개인적인 관심일 뿐이지만 알고 싶습니다...)

    이번에 애플이 위치정보 사업자로 등록 후에야 아이폰이 시판이 가능해진게 기지국 기반의 위치정보 제공과 좀 관계가 있는게아닌가 싶기도 합니다.

     

    얘기가 옆으로 많이 샜습니다...

    전 IT엔지니어기는 하지만 LBS쪽 전문가는 아니구요, 그냥 개인적으로 좀 관심을 가지고 있는 정도입니다. 최근에 자료 조사 중에 알아낸 내용을 좀 정리해봤습니다만 내용중 틀린 내용이 있을 수도 있을꺼 같구요...

     

    어쨌든  GPS와 함께 즐거운 스마트폰 라이프를 즐기세요~~~

     

    Posted by hoonihoon
    2012. 8. 27. 09:28

    본문스크랩 WM에서의 GPS 구동 원리 설명(GPSGate 등의 사용, XTRA, SNTP) 비공개 GPS

    2011/01/04 16:49 수정 삭제

    복사 http://blog.naver.com/mahamaha7777/150100161588

    출처 카페 > 스마트폰카페[갤럭시S/아이폰.. | jinhwkim00
    원문 http://cafe.naver.com/bjphone/620278

    먼저 WM의 GPS의 구동 원리부터 간단히 설명합니다.

    WM 5 버전 이후부터는 GPS의 관리가 OS로 넘어왔습니다. 그 전 버전은 그냥 시리얼포트...

    WM에서는 GPS 장치를 위해 2개의 시리얼 포트를 이용합니다. 설정에 보면 프로그램포트와 하드웨어포트가 그겁니다.

    이걸 나눠놓은 이유는 기존의 하나의 실제 시리얼 포트를 이용하는경우 한 어플이 이를 선점하면 다른 어플이 열수 없는 구조 때문입니다. 그래서 하드웨어 포트는 실제 GPS장치의 포트를 지정하고 프로그램 포트는 어플들이 공유할 수 있는 가상 시리얼포트입니다.

    첫번째 어플이 GPS 프로그램 포트를 열면 GPS가 켜집니다.(레퍼런스 카운트가 1증가) 그 어플이 GPS를 닫으면(레퍼런스 카운트가 0이됨) 아무도 GPS를 사용하지 않으므로 OS는 GPS를 끄겠지요(바로 끄지는 않는것 같습니다만 곧 꺼집니다) 하지만 이 어플이 GPS를 닫기전에 다른 어플이 또다시 GPS를 사용하면 사용 레퍼런스 카운트가 2가되면서 먼저 열었던 어플이 GPS사용을 중지하더라도 GPS가 계속 켜있게 됩니다.

     

    GPSGate 또는 그밖에 GPS수신률을 높혀준다는 어플들은 모두 백그라운드에서 계속 켜져있습니다. 당연히 GPS는 꺼지지 않고 계속 켜있게 됩니다.

     

    그럼 GPS가 계속 켜져있는 것과 꺼젔다 켜졌다하는것은 어떤 차이가 있을까요?

    GPS는 위성에서 온 표준시각 차이를 이용해 위성과 현 위치의 거리를 일아낸 후 3개 이상의 위성에서의 거리로 삼각측량 방식으로 위치를 잡아냅니다. 이를 위해서는 정확한 현재시각을 먼저 알아내야 하는데 여러 위성에서 오는 신호들을 분석해서 각 위성의 위치와 정확한 시각, 거리를 알아냅니다.(좀 복잡합니다. 사실은 저도 완벽히 이해는 못했습니다...) 어쨋든 한번 위치를 잡으면 최소 2개의 위성만 계속 잡혀도 위치를 알아낼 수 있습니다. - 외장 블루투스 GPS로 테스트해보니 밖에서 위치를 잡은상태로 방안에 들어와도 유지가 되는 경우가 주로 이런 경우더군요. 모든 위성이 잡히지 않는 경우에도 이미 현재 시각은 보정을 해놓은 상태이므로 위성신호만 3개이상 잡히면 바로 위치를 다시 잡을 수 있습니다.

    하지만 GPS를 끄게되면 앞에서 계산해놓은 현재시각, 위성위치 등의 정보가 날아가버리니 다시 위치를 잡는데 시간이 많이 걸리겠죠.

     

    그럼 초기 위치를 잡는데 걸리는 시간에 영항을 주는 다른 요소를 알아보면 XTRA와 SNTP가 있습니다.

    XTRA는 Assistant GPS(A-GPS)의 퀄컴 버전입니다. 네트웍을 통해 40kb정도의 데이터를 다운로드 받는데 거기에는 앞으로 약 6일간의 GPS위성들의 궤도 정보가 들어 있습니다. 어떤ID의 위성이 몇시에는 어디에있다는 정보지요. 이걸이용하면 위성의 위치를 파악하는 시간이 줄어들어서 빨리 위치를 잡을 수 있습니다.(http://www.navi4u.com/bbs/view.php?id=lecture&no=79)

    또한 현 시각을 정확히 알아내면 위치를 빨리 잡는데 도움이되기때문에 일부 장치(옴니아2포함)에서는 SNTP(Simple Network Time Protocol - 인터넷을 통해 컴퓨터의 시각을 맞추는데 주로 이용합니다.)을 이용하여 시각을 보정합니다. 이건 한번 다운로드 받는게 아니고 데이터를 보내고 받는데 걸리는 시간을 보정해야 하기때문에 34byte 정도의 데이터를 몇번 보내고 받아 정확한 시각을 구합니다.(http://www.networksorcery.com/enp/protocol/sntp.htm)

     

    일단 좀 정리해보면 그렇습니다.

     

    일부 어플을 사용하면 GPS가 빨리 잡힌다는것은 그 S/W가 GPS 위치를 빨리 잡을 수 있도록 해준다기 보다는 일단 한번 잡으면 GPS를 계속 켜진상태로 유지하도록 해주어서 바로 위치를 잡아내는것 처럼 보이게 한다는겁니다. - 사실은 미리 위치를 잡아 놓았다는게 맞는 말이겠죠.

    외장 GPS의 경우 배터리가 내장된 GPS의 경우 계속 켜두면 거의 항상 바로 위치를 잡을 수 있는 것과 동일한 원리입니다.

     

    만일 주요 용도가 네비게이션 등 GPS를 많이 사용하신다면 도움이 되겠지만, 그렇지 않은 경우 GPS가 계속 켜져있으므로해서 발생하는 배터리 소모는 한번 생각해 보심이 좋을듯 합니다.

     

    긴글 읽어주셔서 감사합니다.

    제가 아는 한도내에서 GPS에 대한 내용을 좀 정리했습니다. 사용하시는데 도움이 되셨으면 하네요.

     

    Posted by hoonihoon
    2012. 8. 27. 09:23
    * statusBarPolicy.java 에 브로드케스터가 등록 되어있습니다. (시간,알람,볼륨,gps, 등등 여러가지 아이콘을 바꿀수 있어 보입니다.
     
     private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
    
    else if (action.equals(GpsLocationProvider.GPS_ENABLED_CHANGE_ACTION) ||
                        action.equals(GpsLocationProvider.GPS_FIX_CHANGE_ACTION)) {
                    updateGps(intent);
                }
    
    }
    
    * 이곳이 gps icon를 셋팅 해주는 부분입니다.
     
     private final void updateGps(Intent intent) {
            final String action = intent.getAction();
            final boolean enabled = intent.getBooleanExtra(GpsLocationProvider.EXTRA_ENABLED, false);
    
            if (action.equals(GpsLocationProvider.GPS_FIX_CHANGE_ACTION) && enabled) {
                // GPS is getting fixes
                mService.updateIcon(mGpsIcon, mGpsFixIconData, null);
                mService.setIconVisibility(mGpsIcon, true);
            } else if (action.equals(GpsLocationProvider.GPS_ENABLED_CHANGE_ACTION) && !enabled) {
                // GPS is off
                mService.setIconVisibility(mGpsIcon, false);
            } else {
                // GPS is on, but not receiving fixes
                mService.updateIcon(mGpsIcon, mGpsEnabledIconData, null);
                mService.setIconVisibility(mGpsIcon, true);
            }
        } 
    
    Posted by hoonihoon
    2012. 8. 27. 09:14
    package com.lge.gps.notification;
    
    import android.app.Activity;
    import android.content.Intent;
    import android.os.Bundle;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    
    public class GPSnotification extends Activity {
        /** Called when the activity is first created. */
     public static final String GPS_FIX_CHANGE_ACTION =
            "android.location.GPS_FIX_CHANGE";
     public static final String EXTRA_ENABLED = "enabled";
     public static final String GPS_ENABLED_CHANGE_ACTION =
            "android.location.GPS_ENABLED_CHANGE";
     
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            
            Button gps1 = (Button)findViewById(R.id.Button01);
            Button gps2 = (Button)findViewById(R.id.Button02);
            Button gps3 = (Button)findViewById(R.id.Button03);
            gps1.setOnClickListener(new OnClickListener() {    //fix
       @Override
       public void onClick(View v) {
        // send an intent to notify that the GPS is no longer receiving fixes.
                 Intent intent = new Intent(GPS_FIX_CHANGE_ACTION);
                 intent.putExtra(EXTRA_ENABLED, true);
                 sendBroadcast(intent);
       }
      });
            gps2.setOnClickListener(new OnClickListener() {   //icon 없앰
       
       @Override
       public void onClick(View v) {
        Intent intent = new Intent(GPS_ENABLED_CHANGE_ACTION);
                 intent.putExtra(EXTRA_ENABLED, false);
                 sendBroadcast(intent);
       }
      });
            gps3.setOnClickListener(new OnClickListener() {   //gps on  깜박깜박
       @Override
       public void onClick(View v) {
        Intent intent = new Intent(GPS_FIX_CHANGE_ACTION);
                 intent.putExtra(EXTRA_ENABLED, false);
                 sendBroadcast(intent);
       }
      });
            
    
     
        }
    }
    
    

    '2019년 이전 정리 > GPS' 카테고리의 다른 글

    WM에서의 GPS 구동 원리 설명(GPSGate 등의 사용, XTRA, SNTP)  (0) 2012.08.27
    GPS 아이콘 BroadcastReceiver  (0) 2012.08.27
    GPS Architecture 분석 1  (0) 2011.01.28
    GPS Architecture 정리중....  (0) 2011.01.27
    XTRA ?  (0) 2011.01.27
    Posted by hoonihoon
    2011. 7. 20. 08:55
    모바일기획에 중 한 부분인 비지니스 모델에 관련하여 좋은 글을 찾게 되었다.


    -SK  (???)

     구글은 크롬 웹브라우저와 OS 를 막대한 비용을 들여 만들고 꽁자로 뿌리는 이유에 대해 이렇게 설명했다.
    도로를 잘 딱아 놓으면 사람들이 알아서 자동차를 많이 구매 할 것이라는 이야기이다.
    구글의 오늘은 만든 '오픈,상생 정책'의 핵심이다.  이러한 오픈 정책음 21세기 IT기업들에게 중요한 화두이다.

    -기술문화연구소장 (류한석)

     모바일 메시젼 카카오톡은 이용자나 트래픽 측면에서 1단계 성공을 거뒀다. 그러나 이보다 중요한것은 소셜 플랫폼인 2단계 진화이다.  광고나 쇼핑, 게임 등의 서비스가 추가돼 본격적인 수익사업을 하지 못한다면 앱의 성공을 논할 처지가 못 된다.

     위치정보 기반의 '스냅핑커'는 근처 레스토랑 위치와 메뉴를 제공하고 예약과 결제까지 동시에 이루어 진다. 
    이를 통해 스냅핑거는 자여업자들에게 수수료를 받는다. Buyer와 Seller 가 만날 수 있는 공간을 제공하는 이른바 플랫폼 비즈니스 앱인것이다.


    단순히 광고 넣으면 잘되겠지? 유료로 하면 돈 많이 벌 수 있겠지? 
    비용에 의존하기 보다는 비지니스 앱 모델에 좀 더 초점을 맞추는게 우선일 것이다.





    '2019년 이전 정리 > 모바일 정보' 카테고리의 다른 글

    phone gap 앱개발  (0) 2013.03.29
    개발자에게 도움될 만한 IT 기술 블로그  (0) 2013.03.14
    WPS(Wi-Fi Positioning System)의 기술요소  (0) 2013.03.06
    MVNO 소개  (0) 2012.08.27
    MIME TYPE 개념  (0) 2012.08.27
    Posted by hoonihoon
    2011. 1. 28. 12:14
    \frameworks\base\services\java\com\android\server\SystemServer.java
    init2() 
    public static final void init2() {
            Slog.i(TAG, "Entered the Android system server!");
            Thread thr = new ServerThread();
            thr.setName("android.server.ServerThread");
            thr.start();
     }

    ServerThread 에는 powermanager, usbobserver, notificationmanager 외에 모든 서비스를 생성하네요.특히 GPS와 관련된  LocationManagerService 을 생성 합니다.
    try {
                    location = new LocationManagerService(context);
                    ServiceManager.addService(Context.LOCATION_SERVICE, location);
                } catch (Throwable e) {
                    Slog.e(TAG, "Failure starting Location Manager", e);
       }

    LocationManagerService.java
    이곳에서는 Cell-ID/WIFI 를 사용할수있는 coogle 패키지 명을 받아 오네요.
    /frameworks/base/core/res/res/values/config.xml   이쪽에서 패키지 값을 가져옵니다.

    예전에  froyo 버전에서는 @null 값으로 되어있었네요.  이 부분을 다음과 같이 바꿔주시면 됩니다.

    <string name="config_networkLocationProvider">com.google.android.location.NetworkLocationProvider</string>

    <String name="config_geocodeProvider">com.google.android.location.GeocodeProvider</string>

        public LocationManagerService(Context context) {
            super();
            mContext = context;
            Resources resources = context.getResources();
            mNetworkLocationProviderPackageName = resources.getString(
                    com.android.internal.R.string.config_networkLocationProvider);
            mGeocodeProviderPackageName = resources.getString(
                    com.android.internal.R.string.config_geocodeProvider);
            mPackageMonitor.register(context, true);

            if (LOCAL_LOGV) {
                Slog.v(TAG, "Constructed LocationManager Service");
            }
        }



    SMS 분석 때문에 ... 잠시 정리를 미룰께요...



    '2019년 이전 정리 > GPS' 카테고리의 다른 글

    GPS 아이콘 BroadcastReceiver  (0) 2012.08.27
    GPS 아이콘을 변경 예제  (0) 2012.08.27
    GPS Architecture 정리중....  (0) 2011.01.27
    XTRA ?  (0) 2011.01.27
    Android Location Providers – gps, network, passive  (0) 2011.01.27
    Posted by hoonihoon
    2011. 1. 27. 15:02
    frameworks\base\services\java\com\android\server\LocationManagerService.java

    \frameworks\base\services\java\com\android\server\location

    android\frameworks\base\services\jni\com_android_server_location_GpsLocationProvider.cpp

    frameworks\base\location\java\com\android\internal\location

    frameworks\base\location\java\android\location



    '2019년 이전 정리 > GPS' 카테고리의 다른 글

    GPS 아이콘을 변경 예제  (0) 2012.08.27
    GPS Architecture 분석 1  (0) 2011.01.28
    XTRA ?  (0) 2011.01.27
    Android Location Providers – gps, network, passive  (0) 2011.01.27
    what is gpsOne? and gpsOne can operate in 4 modes  (0) 2011.01.27
    Posted by hoonihoon