본문 바로가기

안드로이드

외부 저장 장치에 저장한 파일이 나타나지 않는다면 추가 SD 카드를 가지지 않는 안드로이드 폰을 사용할 때, 앱 개발 도중 외부 저장 공간에 파일을 저장했음에도 윈도우 탐색기에서 저장한 파일을 볼 수 없는 경우가 있다. 이것은 아직 고쳐지지 않은 안드로이드의 버그인데, 폰을 재부팅해야 최근에 저장한 파일을 볼 수 있다. 재부팅이 귀찮다면, 저장 장치에 대한 미디어 스캔을 수행하는 앱을 사용할 수도 있다. 안드로이드의 API는 내부, 외부 개념을 사용하여 저장 장치를 구별하지만, 사실 외부 저장 장치는 추가 SD 카드만을 의미하는 것이 아니다. 따라서, 추가 SD 카드를 지원하지 않는 안드로이드 폰을 사용한다면, getExternalStorageDirectory()의 결과는 폰에 따라 다르게 나타날 수 있다. 메모리 부족에 시달렸던 과거의 폰들과 달리, .. 더보기
MS의 노키아 인수: 모든 일에는 순서가 있다 마이크로소프트(이하 MS)의 모바일 전략은 오늘도 여전히 좌충우돌 중이다. 비지니스맨 발머는 장부 실적 관리에는 도가 텄을지 몰라도, 키보드 앞의 카페인 중독 괴짜들을 이끌기엔 부족하다. 윈도우폰은 노키아를 인수하며 '이제부터다'를 외치고 있고, 서피스는 크기와 두께를 줄인 노트북과 무슨 차이가 있는지 알 수가 없다. 대체 무엇이 문제인가? 단순히, 모바일 시장에 먼저 뛰어든 애플의 iOS와 구글의 안드로이드에 비해 기술이 부족한 탓인가? 애플의 아이폰은 환상적인 UI를 보여주며 스마트폰이란게 무엇인지 확실히 보여주었지만, 사실 iOS는 MAC OS X의 열화 및 모바일 기능 추가판이었을 뿐이다. 그러나, 당시에는 이것이 중요한 것은 아니었다. 당시 다른 스마트폰들은 아이폰과 비교하면 차마 스마트폰이라고.. 더보기
C++는 C가 아니다: 이식성 많은 사람들이 알고 있겠지만, C++ 언어와 C 언어는 많은 부분을 공유하지만, C++ 언어는 공식적으로 C 언어를 계승하는 것은 아니다. C++ 표준화 의원회와 C 표준화 의원회는 서로 긴밀히 협조하기는 하지만, 같은 개발 공동체가 관리하고 있지 않다. 물론, C#과 C의 관계보다는, C++과 C의 관계가 훨씬 밀접하다. 그러나, C++의 복잡한 기능 때문에 고질적으로 컴파일러의 이식성 문제가 따라다니며, 어떤 플랫폼에서도 C++로 작성된 코드를 직접 바인딩하는 것은 쉬운 문제가 아니다. 안드로이드는 NDK를 통해 C/C++를 사용하여 시스템 내부로 접근할 수 있지만, NDK는 성능이 중요한 영역에서 보조적인 수단일 뿐이며, 프레임워크 개발 언어인 자바를 대체할 수 없다. 더구나, 안드로이드가 사용하는.. 더보기
Android SDK Manager가 동작하지 않을 경우 Android SDK를 설치한 뒤, SDK Manager가 정상적으로 동작하지 않을 경우, JAVA_HOME이나 ANDROID_SDK_HOME과 같은 환경 변수를 다시 한번 확인하라는 것이 일반적인 문제 해결 절차이다. 그러나, 이와 같은 방법으로도 SDK Manager가 동작하지 않는 경우가 있는데, 이것은 단순히 SDK Manager가 32비트 자바로 빌드된 경우가 있기 때문이다. 당연히, 32비트 JDK나 JRE를 설치하면 간단히 문제를 해결할 수 있다. 더보기