- 요약 -
1. 서비스 생명주기의 동작 순서는 onCreate() - onStartCommand() - onDestroy()입니다.
2. 서비스를 시작하기 위한 메소드는 startService()이고, 중지하기 위한 메소드는 stopService()입니다.
3. 서비스는 AndroidManifest.xml에 등록해야 사용할 수 있다. 등록 형식은 다음과 같습니다.
<services android:name="MusicService">
<intent-filter>
<action android:name="com.hellow.MusicService"/>
</intent-filter>
</service>
4. 브로드캐스트 리시버는 활용하면 안드로이드에서 발생하는 많은 이벤트(문자 메시지, 배터리 방전, 날짜 변경 등)를 감지하고 이를 처리하는 앱을 작성할 수 있습니다.
5. 브로드캐스트 리시버의 배터리 상태 관련 주요 액션은 다음과 같습니다.
액션 | 설명 |
ACTION_BATTERY_CHANGED | 배터리 상태가 변경될 때 |
ACTION_BATTERY_LOW | 배터리가 거의 방전되었을 떄 |
ACTION_BATTERY_OKAY | 배터리가 방전 상태에서 정상 수준으로 돌아왔을 떄 |
6. 인텐트의 엑스트라는 BatteryManager 클래스에 상수로 정의되어 있다. 대표적으로 잔량을 표시하는 EXTRA_LEVEL, 배터리 존재 여부를 표시하는 EXTRA_PRESENT, 외부 전원 연결 상태를 표시하는 EXTRA_PLUGGED, 배터리 상태를 표시하는 EXTRA_STATUS 등이 있습니다.
7. 텔넷의 배터리 관련 명령은 다음과 같습니다.
명령 | 설명 |
power display | 배터리 상태 출력 |
power ac [on/off] | 전원 연결 및 해제 설정 |
power status [charging/discharging/full 등] | 배터리 상태 변경 설정 |
power present [true/false] | 배터리 장착 및 탈착 설정 |
power health [good/overheat/dead 등] | 배터리 성능 상태 설정 |
- 연습문제 -
1. 안드로이드의 주요 4대 컴포넌트는 무엇인가?
답 : 액티비티(Activity), 서비스(Service), 브로드캐스트 리시버(Broadcast Receiver), 콘텐트 프로바이더(Content Provider)
2. 서비스 생명주기와 관련된 메소드를 차례대로 나열하시오.
답 : onCreate() -> onStartCommand() -> onDestroy()
3. 배터리와 관련된 다섯 가지 액션에 대해 설명하시오.
액션 | 내용 |
ACTION_BATTERY_CHANGED | 배터리 상태가 변경될 때 |
ACTION_BATTERY_LOW | 배터리가 거의 방전될 때 |
ACTION_BATTERY_OKAY | 배터리가 방전 상태에서 정상 수준으로 돌아왔을 때 |
ACTION_POWER_CONNECTED | 외부 전원이 장치와 연결되었을 때 |
ACTION_POWER_DISCONNECTED | 외부 전원이 장치와 연길이 끊겼을 때 |
4. [실습 14-1]을 수정하여 <음악서비스 시작>을 클릭하면 /sdcard/의 MP3 파일이 모두 재생되게 하시오. 또한 MP3가 모두 재생되면 처음부터 다시 반복되게 하시오.
[MainActivity.kt]
(★ onCreate()메소드 안에 해당 퍼미션만 추가해 주세요~)
[MusicServices.kt]
(★ Device File Explorer /sdcard에 음악파일을 넣습니다. 1. 음악파일 목록 arrayList와 현재 재생중인 변수, 순차적으로 재생 할 인덱스(플레이 넘버 변수) 변수 파일 경로 변수를 선언 및 정의합니다. 2. mp3List를 생성하고 listFiles()메소드로 sdCard의 파일목록을 저장합니다. 반복문을 통해 확장자가 .mp3인 변수들만 필터하여 mp3List에 추가합니다.)
(★ setOnCompletionListener()메소드의 onCompletion()메소드는 해당 재생중인 미디어가 끝날때마다 호출합니다. 그에따라 mp3List.size(여기선 3개의 재생 파일)로 현재 재생중인 파일 넘버를 검사하여 재생 및 중지합니다.)
[AndroidManifest.xml]
(★ Manifest.xml파일 안에도 해당 퍼미션만 추가해 주세요~)
이상 마치겠습니다 :)
'책 요약하기 > 코틀린을 활용한 안드로이드 프로그래밍' 카테고리의 다른 글
#13. 멀티미디어와 구글 지도 2021-02-24 (0) | 2021.02.24 |
---|---|
#12. 데이터 저장과 관리 2021-02-21 (2) | 2021.02.21 |
#11. 어댑터뷰 2021-02-18 (0) | 2021.02.18 |
#10. 액티비티와 인텐트 2021-02-17 (0) | 2021.02.17 |
#9. 그래픽과 이미지 2021-02-14 (0) | 2021.02.14 |