- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 재능이의 돈버는 일기
- StresslessLife
- K_JIN2SM
- 소소한 일상
- My Life Style & Memory a Box
- Blog's generation
- 공감 스토리
- 취객의 프로그래밍 연구실
- Love Me
- Dream Archive
- 세상에 발자취를 남기다 by kongmingu
- hanglesoul
- 카마의 IT 초행길
- 느리게.
- 미친듯이 즐겨보자..
- Joo studio
- Gonna be insane
- 악 다 날아갔어!! 갇대밋! 왓더...
- xopowo05
- 맑은공기희망운동
- 엔지니어 독립운동
- 혁준 블로그
- Simple in Complex with Simple
- 무의식이 의식을 지배한다
목록분류 전체보기 (1340)
드럼치는 프로그래머
안드로이드 JNI 영역에서 printf 를 사용해봤자 쓰이지도 않고 해서 찾아낸것이 안드로이드 어플처럼 LOG를 사용하는 거~ !! 답답함은 조금 줄어듬.. #include 를 포함해야하고~ log.h를 살펴보면 __android_log_print(LOG_LEV, _TAG, ...); 형태로 되어있는데 ~ 어플의 Log.i 이런것들 쓰다가 쓸려면 돌아버리죠~ 그래서 #define LOGV(...) __android_log_print(ANDROID_LOG_VERBOSE, "libnav", __VA_ARGS__) #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG , "libnav", __VA_ARGS__) #define LOGI(...) __android_l..
서비스란 단순히 Background에서만 동작하는 것이 Service가 아니다. Android에서 Service란 Linux에서 Daemon의 의미인 것이다. 즉, 오랫동한 수행해야될 작업을 처리하기 위한 시작점이 바로 Service이다. 서비스의 형태에는 2가지 형태가 있다. 1) Local Service로 구현하는 방법 : Service와 Service를 이용하는 Application이 항상 동일한 Process에서 작동하는 경우에 해당 한다. 이 경우에는 bindService()의 결과로 바로 해당 Service에 접근해서 원하는 API를 호출 할 수 있습니다. 2) Remote Service로 구현하는 방법 : 하지만 실제로 Service가 돌고 있는 Process가 아닌 별개의 Process에서..
자바는 유니코드를 쓰고, JNI는 UTF-8을 쓰구, C/C++환경에서는 KSC5601 바이트문자열을 쓰더군요. 황당 그자체였습니다. 하지만, 여기도 그렇고 다른곳에서도 한글해결을 위한 명확한 방법을 제시한곳이 없더군요. 그래서, 3일동안 끙끙되며 찾은 방법을 JNI를 공부하거나 구현하고자 하는분을 위해서 설명드리고자 합니다. 참고URL : http://www.grine.co.kr/computer/lang6101.htm => JNI에서 한글처리하는 코어를 가져온 사이트임다. 겨우 찾아냈죠. ^^* 컴파일 환경은 WinXP, JDK1.4.2.04로 했으며, C컴파일을 위해서 VisualC++을 이용했습니다. 간단히 설명하면(파일명을 Test.java과 Test.c) javac Test.java javah ..
여기서 구현하고자 하는 Timer는 단순히 현재 시간을 얻어오려는 함수가 아니라 일정 시간마다 특정한 함수를 수행하게 해주는 Timer를 말한다. Windows의 onTimer 함수처럼 말이다. Linux에서도 onTimer와 같은 함수를 쉽게 만들 수 있는데, 아래와 같이 구현하면 된다. #include #include #include void StartTimer (timer_t timerid, void (*Func)(int), long nsecInterval) { struct itimerspec value; struct sigevent av_sig_spec; av_sig_spec.sigev_notify = SIGEV_SIGNAL; av_sig_spec.sigev_signo = SIGRTMIN; val..
졸업 논문을 위해서 ndk를 사용하게 되었는데 하도 설치가 복잡해서 ndk를 꼭 써야 하나 하는 의구심이 들었다. 안써도 충분히 구현이 가능한데... 고민중.. 역시 다른 사람 의견을 보자 하고 글로벌 검색 시작. 결과는...... 일본분이 테스트 한 자료에는 , 1억번 덧셈의 경우 자바 구현시 45825미리초.. native 인 c로 구현시 9미리초...... for ( int I = 0 ; i < 100000000 ; i + +) { count + +; } 컴파일 최적화로 인한 속도 형상으로 판단되어 수식 변경후 다시 측정한 결과 사진..... for ( int I = 0 ; i < 10000000 ; i + +) { count1 = count1 * 2 / 3 + 5 - 1 ; } 이건.. 넘사벽..
안드로이드 매니페스트 파일은 안드로이드 어플의 이름,버전,구성요소들,권한등을 설정할 수 있는 반드시 존재해야 하는 xml 형태의 파일로서 안드로이드 프로젝트의 최상위에 위치한다. 안드로이드 매니페스트 파일에서 설정할 수 있는 사항 안드로이드 어플의 신원관리 안드로이드 어플의 이름과 아이콘 등록 Activity등의 안드로이드 어플의 구성요소 등록 안드로이드 어플에서 특정 Activity를 주 진입점으로 지정 기타 Intent filter 설정 운영체제가 보내는 Intent 중에서 해당 어플의 Activity 에 적용되는 것을 지정한다. 반드시 요소가 있어야 하며, 요소와 요소가 있을 수도 있다. 또다른 예 --> 특정 콘텐트의 내용을 표시하는 기능 -->geoname:// 으로 시작하는 Uri Intent..
JNI 하면 C++ 라이브러리를 JAVA에서 사용하는 것만 있는 줄 알았는데, 그 반대의 경우도 있다. 허나, 사용할 때 상당히 삽질을 많이해서, 사용기를 적어둔다. 1. 초기화 JavaVMOption options[2]; JavaVMInitArgs vm_args; long status; //참조할 jar, class 파일의 위치를 지정한다. 이게 잘못되면 추후에 NewObject 함수를 이용하여 클래스를 선언, 객체화 할 때, null을 반환한다. 따라서 이런 case에는 아래 경로가 확실히 지정되었는지를 보면 된다. options[0].optionString = "-Djava.class.path=K:/lib/ant.jar;\ K:/optional.jar;K:/java-getopt.jar"; memse..
갑자기 뜬금 없이 JNI라니.. 안드로이드에도 C 기반의 엔진을 지원하다보니 JNI파일을 함께 빌드해야하는 경우가 종종 생긴다. 근데, 처음 접해보면 JNI라는게 참... 불편하다. 특히나, C 기반의 엔진 API가 구조체와 같은 매개변수를 주고 받는다면, 더욱 그렇다. 예를 들어보자. C 기반 라이브러리의 API 파일 clib.h에 다음과 같이 정의되어 있다. // ----------------------------------------------------------------------- // clib.h typedef struct tagTestStruct { int nA; int nB; int nC; } TestStruct; SetParam(TestStruct * pParam); // ------..
출처 : http://androidgps.blogspot.com/2008/09/starting-android-service-at-boot-time.html A service that has to be started manually is an oxymoron, so starting a service at boot time is for many applications a must. My tracklogging service is such an example, which should run whenever the phone is turned on, so that one can refer to the route travelled later. A further example is the much touted Ca..
안드로이드의 알림 프로그래밍 하는법을 적는다. API 11부터 알림은 빌더를 사용해 만들도록 바뀌었다. 따라서 이 글은 빌더(Notification.Builder)를 사용한 Notification 사용 방법이다. new Notification()을 이용하는 예전 방식이 아니다 (물론 API 11버전 이전의 스마트폰도 호환된다.) 사용법은. 1. 알림 매니저 생성 2. 알림 빌더 생성 및 설정 후 알리미 생성 3. 알림 매니저를 통해 알리미 실행 이 되겠다. 본문 시작 1. 알림 매니저 생성 알림도 시스템 서비스의 하나다. 시스템 서비스 중 NOTIFICATION_SERVICE를 얻어오면 된다. 2. 알림 빌더 생성 및 설정 후 알리미 생성 참고로 mNoti의 선언은 private Notification ..