이번 일차는 예시를 못올릴 것 같습니다.
21.05.12(수)에 앱을 만드는 평가가 있는데, 그것에 대해 고민해볼 시간이 필요합니다.
21.05.10(월) 49일차
[동영상 재생하기]
1. 동영상을 재생하고 싶다면 비디오뷰(VideoView) 위젯을 사용하면 되는데 XML 레이아웃에 <VideoView> 태그를 추가하기만 하면 동영상 플레이어를 바로 만들 수 있습니다.
※ 동영상 재생하기 예시
☞ 비디오뷰 객체를 자바 코드에서 참조한 후 동영상 파일의 위치를 setVideoURI() 메서드로 지정하기만 하면 동영상을 재생할 수 있습니다.
☞ 동영상의 재생 상태를 보거나 동영상을 제어할 때 사용되는 미디어콘트롤러(MediaController) 객체는 setMediaController() 메서드로 설정할 수 있는데 손가락으로 터치하면 콘트롤러 부분을 보여주게 됩니다.
☞ 비디오뷰 객체에는 getDuration이나 pause 와 같이 동영상을 제어하는데 필요한 다른 메서드들도 정의되어 있습니다.
[오디오 녹음하여 저장하기]
1. 오디오 녹음이나 동영상 녹화를 위해서는 미디어리코더(MediaRecordeR)가 사용됩니다. 다음과 같은 과정을 거쳐 음성을 녹음할 수 있습니다.
구분 |
설명 |
1. 미디어리코더 객체 생성 |
오디오 녹음을 위해 미디어리코더 객체를 new 연산자를 이용하여 만듭니다. |
2. 오디오 입력 및 출력 형식 설정 |
오디오 정보를 입력받을 데이터 소스와 함께 출력 형식을 설정합니다. |
3. 오디오 인코더와 파일 지정 |
오디오 파일을 만들 때 필요한 인코더(Encoder)와 함께 파일이름을 지정합니다. |
4. 녹음 시작 |
녹음을 시작하면 오디오 파일이 만들어지고 인코딩된 바이트 스트림이 저장됩니다. |
5. 매니페스트에 권한 설정 |
앱에서 녹음을 하려면 RECORD_AUDIO 권한이 있어야 하므로 매니페스트에 이 권한을 추가합니다. |
※ 오디오 녹음하여 저장하기 예시
☞ setAudioSource() 메서드는 오디오 입력을 설정할 때 사용됩니다.
☞ setOutputFormat() 메서드로 미디어 포맷을 설정합니다.
☞ setAudioEncoder() 메서드는 인코더를 설정하는데 사용됩니다.
☞ setOutputFile() 메서드는 결과물 파일을 설정하는데 사용됩니다.
☞ 녹음에 필요한 정보를 모두 설정하고 나면 prepare()와 start()메서드를 이용해 녹음을 시작합니다.
☞ stopRecording() 메서드를 보면 녹음을 중지하기 위한 stop()과 release()가 호출됩니다.
☞ 녹음을 중지했을 때 결과물로 만들어진 녹음 파일을 미디어 앨범에 등록하기 위해서는 미디어 앨범의 내용 제공자를 이용해 새로 만들어진 녹음 파일의 정보를 등록합니다.
[동영상 녹화하기]
1. 오디오 녹음에 사용하던 MediaRecorder 객체는 동영상 녹화에도 그대로 이용할 수 있습니다.
2. 동영상 녹화가 오디오 녹음과 다른 점은 영상을 녹음하기 위한 입력 소스로 카메라를 지정하여 사용자가 카메라 미리보기를 할 수 있도록 만들어 주어야 한다는 것입니다.
※ 동영상 녹화하기 예시
☞ setVideoSource() 메서드를 이용한 비디오 입력 정보 설정, 그리고 setVideoEncoder()메서드를 이용한 비디오 인코더 정보의 설정이 추가되어야 합니다.
[유튜브 영상 재생하기]
1. 구글에서는 유튜브의 동영상을 재생할 수 있는 API를 제공합니다. 이 API를 이용하면 동영상 재생 및 녹화를 진행할 수 있습니다.
※ 유튜브 영상 재생하기 예시
☞ API를 사용할 수 있도록 도와주는 jar 파일을 추가해야 합니다.
[GPS로 나의 위치 확인하기]
1. 안드로이드 기반의 스마트폰 위치는 위치 관리자(LocationManager)라는 시스템 서비스가 관리합니다. 나의 현재 위치를 확인하는 가장 기본적인 방법은 위치 관리자에게 위치 정보를 요청하는 것으로 다음과 같은 단계를 거쳐야 합니다.
단계 |
설명 |
1단계 |
위치관리자 객체 참조하기 위치관리자(LocationManager)라는 시스템 서비스로 제공되므로, getSystemService() 메서드를 이용해 위치관리자 객체를 참조합니다. |
2단계 |
위치 리스너 구현하기 위치 관리자가 알려주는 현재 위치는 위치 리스너(LocationListener)를 통해 받게 되므로 새로운 리스너를 구현하여 전달 받은 위치 정보를 처리합니다. |
3단계 |
위치 정보 업데이트 요청하기 위치 관리자에게 위치 정보가 변경될 때마다 알려달라고 요청하기 위해 requestLocationUpdates() 메서드를 호출합니다. 이 메서드의 파라미터로 2단계에서 구현한 위치 리스너 객체를 전달합니다. |
4단계 |
매니페스트에 권한 추가하기 GPS를 사용할 수 있도록 매니페스트 파일에 ACCESS_FINE_LOCATION 권한을 추가하고 위험권한을 위한 설정과 코드를 추가합니다. |
※ GPS로 나의 위치 확인하기 예시
[현재 위치의 지도 보여주기]
1. 교재대로 하면 작동하지 않아서 구글 맵 API 를 이용하셔서 하셨습니다.
※ 현재 위치의 지도 보여주기
[앱 위젯 만들기]
1. 교재대로 하면 작동하지 않습니다.
'컴퓨터학원(복습)(수료)' 카테고리의 다른 글
자바(JAVA)기반 안드로이드 웹&앱 개발 51일차(평가) (0) | 2021.05.12 |
---|---|
자바(JAVA)기반 안드로이드 웹&앱 개발 50일차(자습, 내용없음) (0) | 2021.05.11 |
자바(JAVA)기반 안드로이드 웹&앱 개발 48일차 (2) (카메라, 음악파일재생) (0) | 2021.05.09 |
자바(JAVA)기반 안드로이드 웹&앱 개발 48일차 (1) (드로어블, 선그리기, 비트맵, 페인트보드, 부드러운선, 멀티터치) (0) | 2021.05.08 |
자바(JAVA)기반 안드로이드 웹&앱 개발 47일차 (데이터 조회, 내용 제공자, 앨범 조회, 뷰그리기) (0) | 2021.05.06 |