본문 바로가기
[android/안드로이드] managedQuery 와 일반 query 의 차이점 안녕하세요 돼지왕왕돼지입니다. 오늘은 managedQuery 와 일반 query의 차이점에 대해 알아보고자 합니다. 내용은 매우 simple 합니다~ managedQuery() = ContentResolver.query() + startManagingCursor( Cursor ) 입니다. 여기서 startManagingCursor( Cursor ) 가 하는 일은, activity가 pause 될 때, 이 cursor에 deactivate() 작업을 해주어 메모리 손실을 줄여주고, activity가 resume 될 때, requery() 를 해주어 원래의 내용이 들어가도록 해주는 것이죠. activity가 destroy될 때는 마찬가지로 close() 까지 해주는 좋은 manager입니다. 한번 쿼리를 한.. 2012. 2. 7.
[android/안드로이드] 안드로이드 부팅과 커널 구조에 대한 기초. 안녕하세요 돼지왕왕돼지입니다. 오늘은 안드로이드의 부팅과 커널 폴더 구조에 대한 기초자료들을 함께 보고자 합니다. 안드로이드 부팅과 커널 폴더 구조를 왜 알아야 하는가? 프레임워크의 구조에 익숙하고 그것의 동작 원리를 제대로 파악하면, 어떤 개발 시나리오라도 주눅들지 않을 수 있습니다. 게다가 안드로이드 프레임워크를 잘 알면 최적화된 S/W 설계를 하는 데 도움도 됩니다. 물론 여기서 다루는 간단한 소개정도로는 의도가 정확히 이루어지지 않지만, 출발점이 되겠습니다. 안드로이드 소스 폴더 구조 kernel: Linux 2.6bionic : 표준 C lib bootloader : 참고용 부트 로더 build : 빌드 시스템 cts : 호환성 테스트 관련 소스 dalvic : 가상 머신 external : 오.. 2012. 2. 7.
[android/안드로이드] framework source eclipse 에 import 하기. 안녕하세요 돼지왕왕돼지입니다. Android Framework Source 를 download 받았는데, Java단 소스를 분석하고 싶은데. 이클립스에서 load 하면 c, cpp는 물론 header 까지 다 불러오고, Reference 추적 등의 기능이 제대로 작동하지 않아 짜증나셨죠? 다음과 같이 하면 이클립스에서 framework를 import 하고, 일반 project 처럼 사용할 수 있습니다. (물론 소스 전체에 대해 지원되는 것이 아니고, 일부에 대해 지원이 됩니다. 그래도 참 편리하죠 ) 이클립스에서 framework 불러오기 안드로이드 framework의 development/ide/eclipse/.classpath 를 framework source 의 root 폴더에 붙이고, ( 여기서는.. 2012. 2. 7.
[android/안드로이드] 죽지 않는 service 만들기 ( 사실은.. 지속적인 부활 ) 안녕하세요 돼지왕왕돼지입니다. 이번에는 죽지 않는 서비스 만드는 방법을 함께 알아볼까 합니다. 사실 죽지 않는 서비스는 만들지 않는 것이 좋습니다. 대부분 Service 가 죽는 경우는 안드로이드 단말 자체의 메모리가 부족하여 Framework 가 강제로 kill 하거나, 아니면 Fatal Exception이 있어 죽는 경우인데 죽지 않는 서비스를 만들어 죽는 서비스를 계속해서 살려 버린다면.. 메모리 문제는 해결되지 않고, Fatal Exception의 경우 계속해서 발생하겠죠.. 따라서 죽지 않는 서비스를 만들 때에는 반드시 "이 서비스가 "무조건" 살아 있어야만 하는가?" 에 대해 다시 한번 생각하고 만드시길 바랍니다. 죽지 않는 서비스는 "Alarm Service" 를 이용하여 구현하면 쉽습니다... 2012. 2. 7.
[android/안드로이드] Font 에 대해 알아보아요. 안녕하세요 돼지왕왕돼지입니다. Font에 대한 좋은 글을 발견하여, 정리하여 포스팅 해봅니다. 원작자의 글도 매우 잘 정리되어 있습니다만, 제 방식대로 글을 써보고자 함입니다. 출처 : http://www.androidside.com/bbs/board.php?bo_table=B46&wr_id=8706 Font의 종류 Bitmap Font ( 비트맵 폰트 ) 폰트 자체가 Bitmap 형식으로 되어 있는 녀석입니다. 화면에 끄냥 뿌려주기만 하면 되는 녀석이라 처리 속도는 매우 빠르지만, 글자의 크기가 커지게 될 경우에는 비트맵을 그저 확장하는 형태로 계단현상 등이 발생합니다. 요즘에는 Font Size 에 따라서, 작은 Font Size의 경우에는 작은 Bitmap 을 사용하고, 큰 Font Size 의 경.. 2012. 2. 7.
[android/안드로이드] 제스처 ( gestures ) 에 대해 알아봅니다. 안녕하세요 돼지왕왕돼지입니다. 오늘은 제스처 ( gestures ) 에 대해 알아보고자 합니다. http://developer.android.com/resources/articles/gestures.html 글의 번역본입니다. 제스처에 대한 개념을 잡기 좋습니다. Gestures ( 제스처 ) 터치스크린은 모바일장치에서 애플리케이션과 연동하기 위한 대단한 방법을 가지고 있다. 터치스크린을 통해 사용자는 tab, drag, fling또는 slide를 통해 애플리케이션에 빠르게 액션을 수행할 수 있다. 개발자를 위해서 안드로이드 framework은 swipe같은 간단한 액션을 인식할 수 있는 방법을 제공한다. 하지만 복잡한 제스쳐는 다루기 더 어렵다. 간혹 개발자는 이런 복잡한 처리를 위해 추가적으로 많은 .. 2012. 2. 7.
[android/안드로이드] live wallpaper 소개. 안녕하세요 돼지왕왕돼지입니다. 아래의 글은 http://android-developers.blogspot.com/2010/02/live-wallpapers.html 글을 번역해 놓은 글로서, Live Wallpaper 에 대한 개략적인 소개를 하고 있습니다. Live Wallpaper 가 뭔지 잘 모르시는 분들이 보시면, 개념을 잡기에 좋을 것으로 보입니다. 그럼 번역 들어갑니다. Live Wallpaper Android 2.1에서 소개된 live wallpaper로 인해 사용자는 더 풍부하고, 애니매이션가능하며, 더 인터액티브한 그들만의 홈스크린을 즐길수 있게 되었다. Live wallpaper는 일반 Android application과 아주 유사하고 플랫폼의 모든 자산에 접근이 가능하다: SGL(2.. 2012. 2. 7.
[Android/안드로이드] View에 대한 기초지식. 안녕하세요 돼지왕왕돼지입니다. 오늘은 View Component 들에 대한 기초지식을 알아보고자 합니다. View 는 크게 2가지로 구분할 수 있는데요.. 1. 위젯 ( Widget ) 이 위젯은 "앱위젯( App Widget )" 과는 다른 녀석입니다. 이 녀석은 User에게 직접적으로 보이며 자기 자신만의 모양을 가지고 있습니다. 보통 User 와 Interaction 을 할 수 있죠. 버튼, 텍스트 뷰, 에디트, 라디오 버튼 등이 위젯의 대표적인 것입니다. 2. 뷰 그룹 ( View Group ) 뷰 그룹은 말 그대로 View 들을 Grouping 하는 역할을 합니다. User에게 직접적으로 보이지는 않으며 다른 뷰를 담는 컨테이너 역할을 합니다. Layout 류가 View Group의 SubCla.. 2012. 2. 6.
[Android/안드로이드] Emulator 에 내가 빌드한 system 이미지를 넣어보자. 안녕하세요 돼지왕왕돼지입니다. 오늘 다뤄볼 내용은 emulator의 system.img 교체하기 입니다. 무슨 말이냐구요? 안드로이드 framework 등을 다루게 되면 자신이 빌드한 system.img 를 테스트 해보고 싶을 것입니다. 하지만 실제 단말이 있어도, image 를 올리는 프로그램이 없을 경우도 있고, 개인폰일 경우, 백업 등의 귀찮은 과정을 수반하게 되죠. 그래서!! 우리가 평소에 테스트 용으로 사용하는 "Emulator" 에 우리가 빌드한 system 이미지를 링크시켜보자는 이야기입니다. 다음과 같은 명령어 하나로 system.img 파일을 링크시킬 수 있습니다. emulator -system [경로]\system.img -avd [avd이름] ex) emulator -system D:.. 2012. 2. 3.
반응형