하루종일 Android OS에서 C/C++코드와 Java 코드를 연동하기 위해서 Android NDK를 사용하여 프로그래밍중입니다.

C/C++로 개발된 기능을 Java에서 쓰기 위해서 JNI(Java Native Interface)를 사용해야되긴 하지만 처음 접하니 어렵군요.

분명히 Visual Studio에서 빌드하여 성공한 코드가 JNI(Java Native Interface)로 빌드할땐 에러가 나니 짜증이 나군요.


ps. 2011년 2월 21일 오후 5시 18분경 컴파일 성공. 이제 마무리 작업만 하면 됩니다 ~_~





Buy me a coffeeBuy me a coffee

출처: Android DevelopersWhat is the NDK?


Android NDK는 안드로이드 어플리케이션(앱)에 Native code(C,C++등)을 이용한 임베딩 요소들을 사용할수 있는 툴셋입니다.

참고로 NDK는 Native Development Kit의 약자입니다.

안드로이드 어플리케이션(앱)은 Dalvik Virtual machine(VM)에서 돌아갑니다. NDK는 C나 C++같은 Native code를 어플리케이션에서 구현할수 있게 허락해줍니다.


NDK를 쓰는 이유

  1. Garbage Collection이 무서워서
  2. 메모리가 너무 많이 필요해서 (over 16M~24M of JVM)
  3. 다른 C/C++ 라이브러리를 사용하고 싶어서
  4. ㅂㅌ인증을 받고 싶어서...(농담입니다 @.@)

영상처리쪽이나 음성처리같이 메모리를 많이 필요하는 어플 구현에 NDK를 써야 최상의 결과를 낼수 있을겁니다.
ps. 그러나 용량이 엄청많이 늘어나겠지.. (먼산)
Buy me a coffeeBuy me a coffee

Nokia CEO Stephen Elop and Microsoft CEO Steve Ballmer announce partnership during press conference at Nokia Strategy and Financial Briefing on Friday February 11, 2011


Nokia사와 MS사간 장기 파트너쉽 체결. 

Nokia사와 MS사간 손잡는건 몇년전에는 상상도 못했던 일입니다. 

Nokia사 사장이 전 MS사 임원이라서 그런건가? 이제 모바일 천하삼분지계(Apple iPhone + Google Android + MS+Nokia Windows Phone)가 완성되는군요? 모바일 시장의 격동이 예상됩니다.


구글 부사장인 Victor Gundotra가 “Two Turkeys Do Not Make an Eagle”(두 마리의 칠면조로는 독수리를 만들 수 없다)라고 하였지만 (두 마리의 칠면조는 Nokia사와 M$사) 제 생각엔 아닐수도 있다고 생각합니다.

출처: Google’s Gundotra On Nokia/Microsoft Rumors: “Two Turkeys Do Not Make an Eagle”

Nokia사와 MS사가 한배를 탔습니다. 두 회사는 지금 Apple사와 Google사의 파상공세때문에 서로 도박을 하게 되었지요. 도박에서 성공할 것인지, 망해서 망할지는 지금 알수 없다만, 모바일 업계의 빅뱅은 이제 시작되었다고 볼 수 있을겁니다.

모바일 춘추전국시대 아니 모바일 천하삼분지계가 드디어 완성(?)되었습니다.


이제 슬슬 모바일 업계의 미래를 예측해보는 것도 흥미진진할듯 합니다.


ps. Symbian은 이제 죽었구나.

ps2. Intel과 Nokia와 합작해서 만들던 Meego는 이제 어쩔?

ps3.Nokia에서 밀고 있던 Opensource project인 QT와 KDE, Meego 등등의 미래가 암울해집니다.

ps4. Nokia사가 단순힌 모바일 하드웨어 제조 업체에서 Apple사처럼  제조업+서비스업체까지 점유하려고 했다만 실패하였습니다. MS사와 손잡고 MS사의 서비스를 이용한 MS사의 플랫폼을 받춰주는 하드웨어 제조 업체로 다시 회귀한 것 같습니다. 그동안의 Nokia의 전략이 거의 실패했다는 것이지요. Nokia사의 사용자로서 아쉽습니다.

Buy me a coffeeBuy me a coffee

이번에 Android에서 디코딩관련해서 C++코드를 사용해야할 일이 생겼다.

그래서 디코딩관련 C++코드와 Android 어플과 연계하는 방법을 찾다보니 JNI을 알아야겠다는 결론이 나왔음.

The Java Native Interface Programmer's Guide and Specification

간단한 Java Native Interface 예제

위의 링크에 나오는 Java Native Interface 관련 문서를 읽고 있다만 아직도 이해를 못하겠다.
너무 익숙하지 않아서 그런가?

Java 코드와 C++ 코드만 쳐다보니 어질어질..  

Buy me a coffeeBuy me a coffee

Google Nexus S vs. Galaxy S (Korean Version)


구글과 삼성이 합작하여 만든 Google Nexus S와 삼성 Galaxy S의 비교 동영상


스펙이 거의 같음에도 Google Nexus S가 좋게 보이는 이유는 소프트웨어 기업인 Google과 소프트웨어 최적화를 하여 하드웨어의 성능을 제대로 끌여들였기 때문이다.


결론: Google을 만난 삼성은 하드웨어와 소프트웨어 모두다 좋다.

Buy me a coffeeBuy me a coffee


구글 안드로이드 2.3 Gingerbread(생강빵)이 탑재된 Nexus S 소개 비디오가 나왔습니다.

2010년 1월달, Google과 HTC와 합작하여 Android 2.1 Eclair가 탑재된 Google Nexus One이 출시된 이래로 이번, 2010년 12월달엔 Google과 삼성전자가 합작하여 Android 2.3 Gingerbread가 Google Nexus S가 출시되는군요.

역시 삼성은 하드웨어 제조 기술이 최강인 OEM제조회사란 딱지가 붙을것으로 예상됩니다. (제발 소프트웨어 개발좀 잘하면 Galaxy S나 Galaxy tab을 구입할텐데 쩝 -ㅁ-)

마지막에 pure google이라는 문구에서 삼성이 Android 2.3 Gingerbread에 전혀 손 안대었고, 구글의 입김만 다가가서 삼성전자의 Galaxy S와는 상관 없다는 걸 표시하는 듯함.


Introducing Nexus S

Buy me a coffeeBuy me a coffee

현재, 전세계 사람들이 많이 사용하고 있는 Android 장치들의 하드웨어 버튼 배열과 아이콘들을 보면 각기 회사마다, 기종마다 위치와 모양이 다르게 설정되었다는 것을 알수 있습니다.

Android Button Comparison


안드로이드 휴대폰들의 하드웨어 버튼 배열은 출시한 회사마다, 기종마다 제각각이다. 똑같은 OS를 탑재한 폰인데 하드웨어 버튼 배열이 다른것일까? 그리고 아이콘도 제각각이라 보니 정신 없다. 각각의 휴대폰들이 똑같은 OS라는 것이 이상하게 느낄수 있음.

위와 같이 휴대폰의 버튼들이 각각 다르니 같은 안드로이드 OS 탑재폰이라도 어느 회사의 하드웨어 버튼 배열 및 아이콘 형태와 저 회사의 하드웨어 버튼 배열 및 아이콘 이 다르다 보니, 사용하는데 불편할수도?

Buy me a coffeeBuy me a coffee



현재, 저는 Android가 탑재된 HTC Desire으로 사용하고 있습니다.


5월초 HTC Desire를 구입하고 나서 계속 기본으로 탑재된 Sense UI를 사용하다, Sense UI를 쓰는 것보다 Froyo의 버전인 2.2.1을 빨리 맛보고 싶고, Google NexusOne의 UI를 사용하고 싶어 DeFroST custum rom으로 바꾼지 이제 1달 반정도 지나갑니다.


Sense UI를 사용할때보단 NesuxOne의 UI를 쓰다보니 뭔가 약간 부족하긴 하지만, Froyo를 제대로 쓰면서 속도로 빠른 것을 원했기 때문에, 계속 이 Rom으로 유지하고 싶군요.

DeFroST라는 단어에서 성에를 없애는 뜻같이 아주 매끄럽게 HTC Desire를 사용할수 있는 롬이라고 말할 수 있습니다.

 

2010년 11월 20일에 DeFroST 6.0g가 나와서 바로 설치하게 되었습니다.



DeFrost 6.0g를 설치후 휴대전화정보입니다.



다른 Desire롬보다 좋은 점은 최신 NexusOne에 들어간 OS인 Android 2.2.1이 들어간 점이 마음에 듭니다,


기존보다 DeFrost 6.0g의 변화된점입니다.

DeFroST의 기반인 넥서스원용 커스텀롬인 CyanogenMod의 변화와 Kernel 변화들을 적었습니다.

Version 6.0g:

CyanogenMod changes:

  • *WindowManagerService: Fix out of memory for surface error...
  • *Fix 2g/3g toggle on UMTS networks
  • *camera: Set default video focusmode to infinity
  • *Bionic: Aliasing problems with frexpf
  • *Browser: Browser settings are getting used before its initialization
  • *camera: Set video focus mode on startup
  • *Fix update of touch-focus and touch-aec
  • *Gallery3D: Add depth component to icon animation
  • *Add "Classic" mode to camera (mimics stock camera behavior regarding focus/shutter button)
  • *Fix sometimes mExpandedView will appear while screen transforming.
  • *Improve performance when getting styled string.
  • *Use a system property to determine mobile interfaces
  • *camera: Fix crash when attaching video to MMS.
  • *Change hide() to dismiss() to avoid memory leak.
  • *Add support for chunked encoding when downloading MMS PDUs
  • *Contacts: fix Contact icon cannot be replaced when set from gallery.
  • *Contacts: Check the parent for null in edit_delete
  • *Contacts: Handle the call event only for KeyUp event.

Kernel changes 6.0g:
  • *power: Enhanced ds2784 battery driver
  • *net: wireless: bcm4329: Use non-DFS channels only for US
  • *net: wireless: bcm4329: Improve way to detect BT SCO connection for BT-coex
  • *net: wireless: bcm4329: Update to Version 4.218.248-15
  • *sched: update "sched: automated per tty task groups" to 2010/11/18 - 2:00PM

Buy me a coffeeBuy me a coffee



구글 모바일 트위터(@GoogleMobile)에서 Android OS 2.3 Gingerbread를 조만간 공개할 것이라는 암시를 내보내는 사진을 올렸습니다.

출처: http://twitter.com/GoogleMobile/status/3174327650361344

출처 http://twitpic.com/3682u2


Google이 YouTube를 통해 Google 본사에 Gingerbread 동상을 세우는 동영상을 공개를 하였습니다.

이후, 이번엔 트위터를 통해서 Gingerbread 과자를 구운걸 트위터에 공개를 하였습니다.


Android OS 2.3 Gingerbread 가 언제 공개 될려나요? 기대됩니다^^


Buy me a coffeeBuy me a coffee





일본 제 1의 이동통신업체인 NTT docomo에서 삼성 갤럭시S를 2010년 10월 28일에 발매하였습니다.

일본에서 나온 갤럭시S 광고가 2가지로 나오는데 하나는 미국서 나온 광고에 NTT docomo 상표 붙인것과 하나는 무려 다스 베이더(Darth Vader)가 나오는 NTT docomo 만의 광고입니다.

1. SAMSUNG GALAXY S docomo CM 60s

위의 광고는 갤럭시S 상표가 NTT domoco로 붙인것과 일본어로 더빙된것 빼곤, 미국에서 출시된 각각의 이동통신 4개의 회사의 갤럭시S의 공통 광고와 똑같아서 감흥이 없습니다.

2. いいなCM NTT docomo walk with you 「GALAXY Days」60秒

위의 광고는 무려 스타워즈의 다스 베이더(Darth Vader)가 나오는 NTT docomo 광고입니다.

광고를 보니 스타워즈의 다스 베이더와 즐거운 한때를 보내는 듯한 느낌이랄까? 영화에 나온 다스베이더가 일본에서 살고 있다는 느낌이 듭니다.

스마트폰인 갤럭시S와 다스베이더랑 무슨 상관이 있는지 모르겠다만?

(스타워즈를 좋아하는 사람이라면 다스베이더(Darth Vader)의 모습에 열광을 하겠다만, 설마 일본 스마트폰 오타쿠를 겨냥한 광고인건가? -_-;;)


아래는 일본 NTT docomo의 광고 사진입니다. NTT docomo에서 스마트폰 광고에 항상 다스 베이더(darth vader)를 넣나?

Who is my boss?
Who is my boss? by shibuya246 저작자 표시변경 금지


ps. 이번 기회에 삼성전자가 갈라파고스 모바일 시장인 일본 시장에 인지도를 높혔으면?

ps2. 삼성전자와 SKT가 일본에서 처럼 갤럭시S의 참신한 광고를 냈으면? 

Buy me a coffeeBuy me a coffee

+ Recent posts