14. 서비스와 브로드캐스트 리시버 제목. 14. 서비스와 브로드캐스트 리시버 제목.

Slides:



Advertisements
Similar presentations
Page  1 Copyright© Hanbit Media, Inc. All rights reserved. IT CookBook, 안드로이드 프로그래밍 본 강의교안은 수업상황을 도입 - 전개 - 마무리로 구분하여 수업의 각 단계에서 필요한 요소 중 강의교안으로.
Advertisements

IT CookBook, Android Studio 를 활용한 안드로이드 프로그래밍 Copyright© 2015 Hanbit Academy, Inc. All rights reserved. 14. 서비스와 브로드캐스트 리시버.
Android 프로그램개발 환경. 학습 목표 ■ 교육 목표  JDK 설치  JDK 환경 설정  Eclipse 설치  Android SDK 설치  ADT Plug-in 설치  Android Virtual Device(AVD) 설치  Android 예제 프로그램.
CHAP 22. 블루투스.
OpenCV 안드로이드 연동 환경설정 OpenCV-Android 를 다운 받습니다.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
02. 처음으로 만드는 안드로이드 애플리케이션 제목.
02. 처음 만드는 안드로이드 애플리케이션 제목.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Power Java 제3장 이클립스 사용하기.
최윤정 Java 프로그래밍 클래스 상속 최윤정
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
Outlook Express 메일 백업 및 복원가이드
08. 파일 처리 제목. 08. 파일 처리 제목 파일 처리 방식을 익힌다. SD카드의 파일 처리 방식을 배운다. 커스텀뷰의 작성법을 살펴본다.
네트워크 스캔하기 WiFi 시리얼 보드 활용가이드 김영준 헬로앱스 (
CHAP 24. nfc와 앱위젯.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
07. 메뉴와 대화상자 제목. 07. 메뉴와 대화상자 제목 메뉴를 작성하고 사용하는 방법을 배운다. 토스트의 다양한 출력 방법을 알아본다. 대화상자의 사용법을 익힌다.
홍익대학교 메일 시스템 구축 Outlook 설정 매뉴얼.
06. 고급 위젯 다루기 제목. 06. 고급 위젯 다루기 제목 고급 위젯을 다루는 방법을 익힌다. 뷰 컨테이너와 그 응용법을 학습한다. 매니패스트 파일의 설정법을 배운다.
4-1장. MySQL 제13장.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
TETRIS FOR QTOPIA.
1. C++ 시작하기.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
소프트웨어 분석과 설계 Struts2 & JBOSS 설치하기
WinCE Device Driver 실습 #3
Power Java 제14장 배치 관리자.
14 SQLite DB 활용 B A S I C 1 4_ 고객 등록과 조회 L A B 1 4_ 수정과 삭제를 포함하는 고객관리시스템 Advanced LAB 14_ 탭 메뉴의 고객관리시스템.
10장. 예외처리.
CHAP 12. 리소스와 보안.
Eclipse 를 이용한 네트워킹 퍼즐 게임 “Scrambled Net” 담당 교수님 전진우 교수님 최은아.
Method & library.
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
영상처리 실습 인공지능연구실.
홍익대학교 메일 시스템 구축 그룹웨어 메일 이전 하기.
LIT-GenAppSetup ※ Texting+ 클라이언트 프로그램은 제품 인증을 받은 제품입니다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
10. 액티비티와 인텐트 제목. 10. 액티비티와 인텐트 제목 액티비티의 개념을 파악한다. 인텐트의 개념과 활용법을 익힌다. 액티비티 생명주기에 대해 알아본다.
2강_첫번째 안드로이드 프로젝트 에뮬레이터(AVD) 만들기 처음 만들어 보는 프로젝트 전체적인 구성 살펴보기
Power Java 제11장 상속.
11.어댑터 뷰 제목. 11.어댑터 뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
PMIS 서버 설정 환경설정 작성자 : 배경환.
빌드 성공.
CHAP 21. 전화, SMS, 주소록.
11. 어댑터뷰 제목. 11. 어댑터뷰 제목 리스트뷰와 그리드뷰 활용법을 배운다. 갤러리와 스피너의 사용법을 익힌다.
( Windows Service Application Debugging )
01. 개요 네트워크에 있는 컴퓨터와 그룹에 대한 NetBIOS 이름에 대응되는 IP 주소를 찾아주는 서비스
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
OpenCV 설정 2.21 만든이 딩딩.
DK-128 개발환경 설정 아이티즌 기술연구소
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
.Net Web Application 2007 컴퓨터공학실험(Ⅰ)
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
Tensorboard in Windows
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
기초C언어 제2주 실습 프로그래밍의 개념, 프로그램 작성 과정 컴퓨터시뮬레이션학과 2016년 봄학기 담당교수 : 이형원
9 브라우저 객체 모델.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
무선랜 사용자 설명서 (Windows Vista 사용자).
JSP Programming with a Workbook
Power Java 제14장 배치 관리자.
숙제 작성 및 제출 과정 김진하 2008/03/14.
7 생성자 함수.
6 객체.
BoardGame 보드게임 따라가기.
Presentation transcript:

14. 서비스와 브로드캐스트 리시버 제목

서비스의 개념을 파악한다. 앱을 종료해도 음악이 계속 나오는 서비스를 만든다. 브로드캐스트 리시버의 개념을 파악한다. 배터리 방전 시 동작하는 앱을 작성한다.

01 서비스 02 브로드캐스트 리시버 03 콘텐트 프로바이더

1. 서비스[1/13] 서비스(Service) 일반적으로 화면 없이 동작하는 프로그램을 뜻함 백그라운드 프로세스(Background Process)라고도 함 액티비티 응용프로그램은 화면(액티비티)이 종료되면 동작하지 않지만 서비스 는 백그라운드에서 실행되므로 화면과 상관없이 계속 동작함

1. 서비스[2/13] 서비스 생명 주기

1. 서비스[3/13] 안드로이드 프로젝트 생성 프로젝트 이름 : Project14_1 패키지 이름 : com.cookandroid.project14_1

1. 서비스[4/13] activity_main.xml 수정 버튼 2개를 생성하고 id는 btnStart, btnStop으로 함

1. 서비스[5/13] Java 코드 작성 및 수정 Service 클래스의 상속을 받는 MusicService 클래스 정의

1. 서비스[6/13] Java 코드 작성 및 수정 onCreate( ), onDestroy( ), onStartCommand( ) 메소드 안에 로그를 남기도록 코딩

1. 서비스[7/13] MusicService 클래스에 음악을 시작하고, 정지하는 코드 추가 res 폴더 아래에 raw 폴더를 생성 MP3 파일을 하나 복사 전역변수로 MediaPlayer 변수 1개 선언 onStartCommand( ) 메소드에 MP3 파일을 시작하는 코드를 추가 onDestroy( ) 메소드에 음악을 중지시키는 코드를 추가

1. 서비스[8/13] 메인 Java 코드 완성 MusicService 클래스를 적용할 Intent 변수 1개와 Button 변수 2개를 전역변수로 선언 인텐트 변수를 생성하면서 MusicService 클래스를 생성자에 넘김 activity_main.xml의 버튼 2개를 버튼 변수에 적용시킴 < 시작>을 클릭하면 startService( )를 호출하고 로그를 남김 <중지>를 클릭하면 stopService( )를

1. 서비스[9/13] AndroidManifest.xml을 열고 <application> 안에 서비스 등록

1. 서비스[10/13] 프로젝트 실행 및 결과 확인 로그 화면을 보기 위한 로그캣(LogCat) 화면이 보이지 않으면 Android Studio 메뉴 [Tools]-[Android]-[Android Device Monitor]를 선택

1. 서비스[11/13] 프로젝트 실행 및 결과 확인 <Add a new logcat filter>를 클릭 Filter Name에는 임의의 이름을 넣고, by Log Tag에 “서비스 테스트”를 입력

1. 서비스[12/13] 프로젝트 실행 및 결과 확인 <음악서비스 시작>을 클릭하면 음악이 재생되는지 확인 후 로그캣 확인 <음악서비스 중지>를 누르고 음악이 중지되면 로그캣 확인

1. 서비스[13/13]

2. 브로드캐스트 리시버[1/10] 브로드캐스트 리시버(BR, Broadcast Receiver) 안드로이드는 문자 메시지 도착, 배터리 방전, SD카드 탈부착, 네트워크 환경 변화 등이 발생하면 방송(Broadcast) 신호를 보내는데, 이런 신호를 받아서 처리하는 것이 리시버임 브로드캐스트 리시버의 대표적인 응용은 배터리 상태 확인

2. 브로드캐스트 리시버[2/10] 안드로이드 프로젝트 생성 프로젝트 이름 : Project14_2 패키지 이름 : com.cookandroid.project14_2 디자인 및 편집 배터리 상태에 따라 변하는 이미지 5개를 /res/drawable-hdpi에 복사

2. 브로드캐스트 리시버[3/10] activity_main.xml 수정 이미지뷰 1개와 에디트텍스트 1개를 생성, id는 ivBattery, edtBattery로 함

2. 브로드캐스트 리시버[4/10] Java 코드 작성 및 수정 ImageView 변수 1개와 EditText 변수 2개를 전역변수로 선언 activity_main.xml의 위젯 2개를 변수에 적용시킴

2. 브로드캐스트 리시버[5/10] onCreate( ) 밖에 BR 객체 생성 onReceive( ) 메소드 인텐트의 액션이 ACTION_BATTERY_CHANGED인 경우 다음을 처리 인텐트의 Extra에서 배터리의 잔량을 추출 그에 따라 잔량을 표시하고 배터리 이미지를 변경 인텐트의 Extra에서 배터리의 전원 연결 상태를 추출한 후 표시

2. 브로드캐스트 리시버[6/10] onPause( ), onResume( )를 자동완성 onResume( ) 메소드 : 인텐트 필터를 생성하고 ACTION_BATTERY_CHANGED 액션을 추가한 후 BR에 등록 onPause( ) 메소드 : 등록된 BR을 해제

2. 브로드캐스트 리시버[7/10] 프로젝트 실행 및 결과 확인 명령 프롬프트를 열고 “telnet localhost 5554”를 입력

2. 브로드캐스트 리시버[8/10] 프로젝트 실행 및 결과 확인 power capacity 5 : 배터리 잔량 변경을 5%로 변경 power ac off : 어댑터 연결을 뺀 것이므로, 배터리 부족 경고가 나옴

2. 브로드캐스트 리시버[9/10] 배터리 관련 명령

2. 브로드캐스트 리시버[10/10]

3. 콘텐트 프로바이더 콘텐트 프로바이더(Content Provider) 안드로이드는 보안상 앱에서 사용하는 데이터를 외부에서 접근할 수가 없음 파일이나 데이터베이스를 외부 앱에서 사용하도록 하려면 콘텐트 프로바이더 (Content Provider : 줄여서 CP)를 만들어서 외부로 제공 URI(Uniform Resource Identifier) URI는 콘텐트 프로바이더에서 제공하는 데이터에 접근하기 위한 주소 URI는 “content://패키지명/경로/아이디” 형식으로 지정

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[1/7] 안드로이드에서 제공하는 CP의 사용

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[2/7] 안드로이드에서 제공하는 주요한 CP와 URI

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[3/7] 안드로이드에서 통화기록을 가져오는 예제 AVD에서 통화 버튼을 눌러서 통화 기록을 몇 건 남겨놓음 통화 기록에 접근하기 위해 <application> 위에 AndroidManifest.xml의 다음 코드를 추가하여 접근 권한을 줌

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[4/7] 안드로이드에서 통화기록을 가져오는 예제

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[5/7] 안드로이드에서 통화기록을 가져오는 예제 Java 코드(1/2)

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[6/7] 안드로이드에서 통화기록을 가져오는 예제 Java 코드(2/2)

3. 콘텐트 프로바이더 ▶ 안드로이드 제공 콘텐트 프로바이더[7/7]