본문 바로가기

Programming/Android

(44)
RefBase.h:350: error: 'android::IBinder' is an inaccessible base of SensorService 를 흉내낸 간단한 PSensorService를 만들려고 간단한 코드를 입력하고 틀만 만들었습니다. System_init.cpp 의 system_init() 에서 PSensorService::instantiate(); 를 추가하여 서비스를 시작하도록 하였습니다. 컴파일 도중 오류가 발생했습니다. RefBase.h:350: error: 'android::IBinder' is an inaccessible base of 이 오류였는데... 구글에 검색해 봐도 답이 안 보였습니다. 결론은 SensorServer를 만들어 상속을 받는데 public을 안 써줘서 접근을 못하는 것이었습니다. 상속받을 때 접근자를 항상 주의하도록 합시다!!!
init.c main에서 ueventd_main 실행 ??? if (!strcmp(basename(argv[0]), "ueventd")) return ueventd_main(argc, argv); init.c 의 main 함수를 보면 ueventd_main 을 실행하는 부분이 있습니다. 책에서도 먼저 실행된다고 되어 있습니다. 하지만 아무리 생각해 봐도 argv[0] 은 파일명인데... 어떻게 이게 다른 파일인 "ueventd" 가 될수 있는 걸까요? 파일명이 차이가 나는 이유는 ueventd가 init의 심볼릭링크라서 그렇다는 군요. 그리고 init보다 ueventd가 먼저 실행되는 이유는 이 코드가 아닌 전혀 다른 곳에 있었습니다. init.rc 파일을 보면 다음과 같이 있습니다. on early-init start ueventd ..... init이 시작될때..
ListView 두가지 이벤트의 차이 onItemClickListener, onItemSelectedListener 정확하게는 아니지만... 다른 분들의 의견과 저의 의견을 종합하여 내린 결론! onItemClickListener 은 말 그대로 터치하여 클릭되었을 경우 발생하는 이벤트입니다. down -> up 이 되어야 발생합니다. onItemSelectedListener 은 방향키나 트랙볼등으로 이동하였을 경우 포커스를 가지게 될때 발생하는 이벤트입니다.
Failed to create the Java Virtual Machine javaw.exe 의 경로를 지정해 주면 간단히 해결됩니다. eclipse가 있는 폴더안에 eclipse.ini 파일을 편집기로 여세요. 내용 중에 -vm 이라고 있습니다. 그 다음 줄에 javaw.exe가 있는 경로를 적어주면 끝입니다. -vm C:/Program Files/Java/jdk1.6.0_27/bin/javaw.exe -vmargs 저장후 Eclipse 실행~!
AVD 경로 변경 제어판 > 시스템 > 고급 > 환경변수 > 시스템변수 변수 이름 : ANDROID_SDK_HOME 변수 값 : D:\android-sdk-windows 이클립스가 켜 있는 상태라면 종료하고 다시 실행하셔야 합니다.
startManagingCursor Cursor 를 생성하여 사용할때 사용합니다. startManagingCursor 를 사용하게 되면 Activity 주기에 따라 알아서 Cursor를 관리해 준다고 합니다. 간단히 알아본 봐로는 한가지 예를 알 수 있었습니다. Activity 가 소멸될때 onDestory 가 호출될때... Cursor를 close 해줘야 하지만 startManagingCursor를 사용하면 자동으로 close 해준다고 합니다.
invalid command-line parameter: Files\Android\android-sdk\tools/emulator-arm.exe. 안드로이드 애뮬레이터 실행시 발생하는 오류입니다. 경로 중간에 빈공간이나 한글등이 들어가면 생기는 오류입니다. 다시 설치하는 방법이 있으나 링크로 해결하는 방법이 있습니다. C:>MKLINK /j C:\Android "C:\Program Files\Android\android-sdk\" 참고 사이트 http://www.androidpub.com/1644488
TextView 글자 크기 변경 코드로 TextView의 글자 크기를 변경하였습니다. 테스트는 HVGA 에뮬레이터와 안드로원 이었습니다. 글자 크기를 +1, -1 적용하는데 문제 없었습니다. 하지만 오류 보고 계속 왔죠. 글자 크기 조정이 제대로 안된다고.. 특히 -1은 작아지는 것이 아니라 더 커진다고.. 확인해 보니 WVGA에서는 계산한데로 제대로 적용되지 않고 있었습니다. 어떻게 해보아도 제대로 되지 않았는데 찾아 보니 setTextSize 는 2개의 메소드가 있더군요. 기본적으로 쓰는 것을 말고 단위를 선택하는 메소드가 있습니다. TypedValue 값을 이용하여 단위를 정할 수 있습니다. TypedValue.COMPLEX_UNIT_PX 가 pixel 단위를 나타냅니다. 그러므로 우리가 코드에서 크기를 변경할때 pixel 단위를..