티스토리 뷰
Android Service란 쉽게 말해서 백그라운드에서 동작하는 기능을 말하는 겁니다. 대표적인 예로 카카오톡 앱을 실행하지 안고도 누구가 메세지를 보내면 받고 알려주는 것이 있습니다.
여기에 Notification을 이용하여 특정 상황이 되면 Service가 알아서 알림(Notification)을 발생시키는 예제를 설명해 드리도록 하겠습니다.
Notification 설명 : http://twinw.tistory.com/48
Service 설명 : http://twinw.tistory.com/49
예제 시나리오는 서비스안에 즉 안드로이드 백그라운드에 쓰레드(핸들러포함)를 생성하여 10초를 세고 핸들러에게 메세지를 전달합니다. 그리고 알람(Notification)을 가지고 있는 핸들러는 메세지를 받고 알람을 발생시킵니다.
1. MainActivity.class
우선 메인 엑티비티 입니다. xml은 Service 시작 버튼과 끝내는 버튼이 있습니다.
2. ServiceThread.class
서비스 쓰레드 입니다. 대부분 서버나 외부로부터 신호를 받는다고 가정하여 쓰레드로 구현했습니다. 추가로 httpConnect도 그렇고 Socket도 그렇고 인터넷 연결에 대한 것은 쓰레드로 구현해야합니다. 안그러면 앱터집니다.
서비스는 기본 class를 생성하듯이 생성하는것이 아니라 Activity처럼 Manifest에 등록되어야 함으로 아래 사진과 같이 생성합니다.
이후 AndroidManifest.xml에 들어가 정상적으로 되었는지 확인합니다.
서비스를 생성하면 onBind함수가 오버라이드 되어 있습니다. 여기에 아래 그림과 같이 제일 기본적인 함수 3개를 Code -> OverrideMethods에서 추가할 수 있습니다.
1. onCreate() : 최초 생성되었을때 한번 실행됩니다.
2. onStartComand() : 백그라운드에서 실행되는 동작들이 들어가는 곳입니다.
3. onDestroy() : 서비스가 종료될 때 실행되는 함수가 들어갑니다.
Service에 대한 자세한 설명은 http://twinw.tistory.com/49에 있습니다.
3. MyService.class
4. 실행결과
'SoftWare > 안드로이드' 카테고리의 다른 글
안드로이드에서 MongoLab 사용하기 (0) | 2017.06.12 |
---|---|
GCM 3.0 + PHP 예제 코드 (20) | 2016.05.08 |
Andorid - Service (12) | 2016.03.04 |
Android - Notification (1) | 2016.03.02 |
Android - SSL 인증서 오류 (javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.) (7) | 2016.03.01 |
- Total
- Today
- Yesterday
- 파일입출력
- LISTVIEW
- 안드로이드
- vim 설치
- 자바 입출력
- vim
- 인텐트
- java
- Notification
- Java Decompiler
- 알고리즘
- 카운터
- 유전
- php
- c언어
- 포켓몬 Go
- java url
- 5582
- android
- 서버
- Res
- 아두이노
- 포켓몬 고
- jad
- counter
- 파일 입출력
- Service
- 테라펀딩 #투게더펀딩 #P2P투자 #부동산 소액 투자 #카카오 #토스
- java 파일 입출력
- 유전 알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |