13주차
*오디오
-멀티미디어를 동작시키는 MediaPlayer 클래스는 음악 및 동영상을 재생해주는 기능
- MediaPlayer의 play(), pause(), stop() 메소드는 각각 음악을 시작. 일시정지, 정지하는 기능을 함.
*MediaPlayer 데이터 지정 방법
- 웹의 URL로, 위치 지정 (*인터넷이 안될때는 이용에 제한이 생김
- res/raw 폴더에 복사한 후 위치 지정 (*앱의 크기가 커짐
- SD카드에 복사한 후 위치 지정 -> 퍼미션 설정 확인
*MediaPlayer
>>방법 1은 조금 간단한 방법임!
>>그림을 이해하기 쉬운 방법은 start 먼저 보는 것. 파란색 부분은 상태를 알려주는 것.
*간단한 음악 재생 예제
- [res > raw ] 폴더 생성 후 song1.mp3 파일을 복사해서 추가
<switch
android:id="@_id/whitch1"
android:layout_width="wrap_content"
android:layout_height"wrap_content"
android:text="음악듣기" />
- 스위치를 켜면 음악이 시작되고 스위치를 끄면 음악이 정지됨
>>코드
*MP3 플레이어 만들기
- /sdcard 등 적당한 곳에 mp3 파일을 몇 개 넣음 (Upoload)
sdcard 폴더 또는 /storage/emulated/0 폴더에 Upload
androidManifest.xml 파일에 SD카드를 사용할 수 있도록 퍼미션 지정
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*멀티스레드
-여러 작업을 동시에 수행하기 위해 사용하는 개념
-스레드는 프로세스 안에서 동작하는 작은 단위
>> 스레드를 사용한다하면 두가지 기억!!
메인 스레드의 UI를 건들면 안됨!
*스레드
-Handler = 스레드와 메시지를 주고받아 통신하기 위함
-sendMessage() => 메세지큐에 메시지를 넣음
-handleMessage() => 메시지를 처리함./처리를 위한 코드는 메인 스레드에서 수행함.
-obtainMessage() => 메시지 객체를 리턴 받아옴
-looper => 메시지큐의 메시지를 꺼내 handler 에게 전달
*Handler로 타이머 만들기
-sendEmptyMessage(int what) => 메시지 보내기
- sendEmptyMessageDelayed(int what, lomg delayMllis)
=> what 객체가 메시지에 설정되어 큐에 추가되고, 지연시간 이후 실행
-removeMessage(int what) => what 값이 설정된 메시지를 큐에서 제거함.
*스레드 응용
- androidManifest.xml 파일에 SD카드를 사용할 수 있도록 퍼미션 지정
*android Studio 에 Google Play Service 추가 (구글 맵)
- /app/build.gradle 파일 열고 다음 코드 추가
dependencies{
.......
compile 'com.google.android.gms:play-services:6.1.+'
}
*androidManifest.xml 수정(package는 수정할 것)
*google API가 지원되게 만들어주기