해당 프로젝트
https://github.com/jaybon1/androidwork/tree/master/serviceCounterApp
안드로이드 4대 컴포넌트 알아둬야함
액티비티
서비스
컨텐트프로바이더 (연락처앱에 접근 하는 등)
브로드캐스팅
AIDL을 만들 수 있으면 컨텐트 프로바이더를 만들 수 있다
다른 앱이 원할 때 내 앱의 함수를 실행
책 552페이지
--
뷰 만들기
--
서비스 생성
--
1초에 한번씩 count가 증가하도록 세팅
--
메인액티비티에서 서비스를 실행해본다
--
로그에 잘 보인다
--
서비스에서 조건을 건다
--
멈췄다 실행해보면 아래와같이 나온다
--
한계 :
메인 액티비티에서 해당 값을 가져올 수 없다(ui갱신을 할수 없다)
값이 보존이 되지 않는다 (일시정지가 안됨)
---------
AIDL 생성
ctrl + f9 : 빌드 하면 아래와 같이 BuildConfig와 인터페이스가 만들어진다
--
서비스에서 아래와 같이 입력( retrun 0을 count로 바꾸자)
--
서비스에서 onBind를 호출하면 바인더를 리턴 받을 수 있다
--
멈출때 디스트로이 쓰지 않고 온 언바인드 사용
--
--
--
바인더는 서비스변수를 참조할 수 있다
--
서비스
1. BindService -> onCreate /onBind 실행
2. 스레드 실행
--
for문 대신 while 문을 사용
--
서비스를 startService 대신 bindService를 이용해서 실행한다
또한 화면에 서비스에서 받아온 값을 입력하기위해 쓰레드를 만들고
핸들러를 이용하여 ui에 접근하여 글자를 변경한다
--
재실행시 메인에서 count값을 받아온다
--
테스트
'App > Android' 카테고리의 다른 글
안드로이드 버튼 효과 그림자 음영 제거 (0) | 2020.11.20 |
---|---|
안드로이드 // 개발중 앱이 2개 설치될때 (0) | 2020.08.25 |
안드로이드 // 서비스 기초1 (0) | 2020.08.18 |
안드로이드 // 글라이드 glide 정리 (0) | 2020.08.17 |
안드로이드 // MVVM-DataBinding-FireStore 테스트 (3) | 2020.08.16 |