- 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 |
- 재능이의 돈버는 일기
- 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
- 무의식이 의식을 지배한다
목록안드로이드 (186)
드럼치는 프로그래머
내가 만든 객체를 IPC를 통해 전달하려면 Parcelable Interface 를 implement 해야한다. 내가 만든 클래스가 class ProcessPrivacyInfo { String processName; byte accessInfo; } 라고 한다면 수정된 클래스는 Parcelable의 두가지 메소드 와 한가지 필드 int describeContents() void writeToParcel(Parcel dest, int flags) public static final Parcelable.Creator CREATOR 를 선언해야 한다. 수정하면 아래와 같다. import android.os.Parcel; import android.os.Parcelable; class ProcessPrivacy..
그냥 Service 예제를 찾는거라면 back ^^; 이번에 제가 말씀드릴 Service는 그냥 제가 작업하면서 난관에 걸렸던 부분과.. 해결을 어떻게 했는지 말씀드릴라고 합니다.. 일단 애초에 Service를 공부한 목적은 음악player를 만드는데.. back을 누르면 종료되기때문에.. 어쩔수 없이 Service를 써서 background에서도 원활히 동작되게 만들어야했습니다. 근데 Service의 호출방식은 2가지가 있죠.. local방식과 remote방식.. local방식은 service자체적으로 돌아가게 만듭니다.. 근데 remote방식은.. service와 값을 주고받을수 있는 통로를 갖고 있습니다.. 자.. 여기까진 뭐 그냥 다들 아는 내용이죠.. 과연 님들이라면은 mp3 player를 ba..
한 프로세스에서의 프로세스간 통신은 쉬운 것이므로 설명은 생략하고 외부 프로세스간 통신시에 사용하는 방법을 설명코자 합니다. aidl은 스텁코드를 만들고자 만드는 것이고, 스텁코드는 공유하려는 대상을 바이트로 바꿔 외부에 공개해 주는 게 주역할입니다. 다음은 프로젝트의 트리 구조입니다. 우선, AIDL의 실 구현부(서버단)과 그 구현을 사용하는 클라이언트를 만들어 보겠습니다. 1. 서버단 a) 해당 프로젝트->src 에ICalc.aidl 을 만듭니다.(이 때 패키지명 추가하고 그곳에 aidl을 넣습니다.) 패키지명과 현재 aidl의 패키지명을 같게 넣지 않으면 후에 에러가 떨어집니다. package com.android.aidldemo.aidl; interface ICalc{ int Add(in int ..
안드로이드 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 ..
졸업 논문을 위해서 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 기반의 엔진을 지원하다보니 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..