- 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
- 무의식이 의식을 지배한다
목록android (171)
드럼치는 프로그래머
서비스란 단순히 Background에서만 동작하는 것이 Service가 아니다. Android에서 Service란 Linux에서 Daemon의 의미인 것이다. 즉, 오랫동한 수행해야될 작업을 처리하기 위한 시작점이 바로 Service이다. 서비스의 형태에는 2가지 형태가 있다. 1) Local Service로 구현하는 방법 : Service와 Service를 이용하는 Application이 항상 동일한 Process에서 작동하는 경우에 해당 한다. 이 경우에는 bindService()의 결과로 바로 해당 Service에 접근해서 원하는 API를 호출 할 수 있습니다. 2) Remote Service로 구현하는 방법 : 하지만 실제로 Service가 돌고 있는 Process가 아닌 별개의 Process에서..
안드로이드 매니페스트 파일은 안드로이드 어플의 이름,버전,구성요소들,권한등을 설정할 수 있는 반드시 존재해야 하는 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..
안드로이드의 알림 프로그래밍 하는법을 적는다. API 11부터 알림은 빌더를 사용해 만들도록 바뀌었다. 따라서 이 글은 빌더(Notification.Builder)를 사용한 Notification 사용 방법이다. new Notification()을 이용하는 예전 방식이 아니다 (물론 API 11버전 이전의 스마트폰도 호환된다.) 사용법은. 1. 알림 매니저 생성 2. 알림 빌더 생성 및 설정 후 알리미 생성 3. 알림 매니저를 통해 알리미 실행 이 되겠다. 본문 시작 1. 알림 매니저 생성 알림도 시스템 서비스의 하나다. 시스템 서비스 중 NOTIFICATION_SERVICE를 얻어오면 된다. 2. 알림 빌더 생성 및 설정 후 알리미 생성 참고로 mNoti의 선언은 private Notification ..
안드로이드는 사정에 따라 서비스를 죽이기도 하며 나중에 다시 살리기도 한다. 만일 항상 떠있는 서비스를 구현하고자 하는 경우에는 이런 일이 발생하는것에 대해 아주 당황할것이다. 이럴경우 서비스를 죽지 않도록 하고자 할것인데. 이런 경우 알람서비스를 이용하여 서비스가 죽으면 다시 살리는 방법이 있다. 많은 경우 이런 방식을 이용하는것으로 보인다. PersistentService가 죽지 않아야 할 서비스이다. 아래 예제에서 보면 onCreate시 기존 알람이 있으면 제거하고 onDestroy시 알람을 기동한다. 알람은 일정시간이 지나면 PendingIntent를 날리는 알람이며 이 인텐트를 받을 수 있는 BroadcastReceiver가 있게 된다. 여기서는 RestartService receiver가 해당..
안드로이드의 영원한 떡밥..이슈..그것은 바로 Home Key 제어죠. Home Key 를 막는 것은 애초에 불가능 하지만, onPause() 가 호출될 때, 1. 홈키를 통해 호출 된 것인지 2. 다른 경로로 호출된 것인지 위의 두가지 경우를 구분해낼 수 있다면, 굉장히 유용하리라 생각됩니다. 일단 안드로이드 액티비티의 라이프 사이클을 보자면, 위에 처럼 되어있는데, onPause() 가 호출되는 경우는, ● 다른 어플리케이션에서 메모리를 필요로 할때, ● Home Key 입력으로 인해 어플이 잠시 중지될 때, 크게 두경우가 있겠고, 지금 하는 프로젝트에서 알람을 등록하고, ● 화면 꺼짐 상태에서 등록한 알람이 기동될 때 호출되는 경우. 에도 onPause() 가 호출됨을 알 수 있었습니다. 어플이 B..
이클립스 속도 향상 (eclipse.ini 수정) 최근 이클립스가 버벅대서 오랜만에 이클립스 속도 향상 정보를 정리해본다. eclipse.ini 수정 1) Before -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.1.R36x_v20100810 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile --launcher.XXMaxPermSize 256M -showsplash org.eclipse.platform --l..
안드로이드에서 Remote Service를 사용하여 서비스를 제공 할 때, 자바 기본 타입 및 안드로이드에서 허락된 타입만 사용 할 수 있습니다. 하지만, 해당 서비스에 맞는 데이터 타입이 필요한 경우도 있습니다. 이 경우는 안드로이드 프레임워크 소스에서 수정해야 하는 일이라 일반 어플 개발자는 해당사항이 없는 경우 입니다. 제가 해볼 수 있는 것은 Parcelable 인터페이스를 상속 받아 데이터 타입 클래스를 생성해서 프로세스간에 통신이 될 수 있는 타입을 정의해 보는 것이였습니다. 하지만, 빌드를 해보면 이것만으로는 aidl에서 해당 타입을 사용 할 수 없다는 메세지를 봐야만 했죠. 방법은 의외로 간단했습니다. 안드로이드 소스를 찾아보면 이와 비슷한 용도로 사용되는 클래스들이 있습니다. 그 클래스들..
eclipse에서 실행 했을경우 Failed to create the Java Virtual Machine 이란 에러가 뜨면 eclipse.ini에서 -- 추가 -- -vm C:\Program Files\Java\jdk1.5\bin\javaw.exe -- 추가 -- -startup plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar --launcher.library plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503 -product org.eclipse.epp.package.jee.product --launcher.defaultAction openFile --launcher.XXMax..