전체 글
-
[ Android ] 트윈 애니메이션Android 2020. 3. 30. 15:09
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant Tweened Animation Thread Animation이 만화 같은 효과를 만들어내는 기본적인 방법이지만 각각의 프레임을 모두 이미지로 그려야 한다는 것은 힘든 일입니다. 동일한 이미지가 움직이도록 만드는 경우 직접 이미지를 그리지 않고 프로그램이 이미지의 위치를 약간 바꾸고 화면에 뿌려주도록 하는 방법을 사용하는 것이 더 편리합니다. 이러한 방식으로 Animation 을 동작시키는 것이 Tweened Animation입니다. 트윈 애니메이션(Tweened Animation)은 보여줄 대상을 적절하게 연산한 후 그 결과를 연속적으로 디스플레이하는 방식을 제공합니다. Frame Animation 처럼 변경하면서 보여줄 각각의 ..
-
[ Android ] 스레드 애니메이션Android 2020. 3. 27. 14:55
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant Animation Android에는 두 뷰 계층 간의 변경사항을 쉽게 애니메이션할 수 있는 전환 프레임워크가 있습니다. 이 프레임워크는 시간이 흐름에 따라 일부 속성 값을 변경하여 런타임 시 뷰를 애니메이션합니다. 프레임워크에는 흔히 사용되는 효과를 위한 애니메이션이 내장되어 있으며, 맞춤 애니메이션 및 전환 수명 주기 콜백을 만들 수 있습니다. 비트맵 애니메이션 UI 가시성 및 모션 애니메이션 레이아웃 변경 애니메이션 활동 간 애니메이션 애니메이션을 언제 사용해야 하는지 더 잘 이해하려면 모션에 대한 머티리얼 디자인 가이드도 참조하세요. Code MainActivity.java public class MainActivity ext..
-
[ Android ] 음성 녹음하기Android/멀티미디어 2020. 3. 26. 14:32
이 글은 부스트코스 강의 와 MediaRecorder를 공부하며 요약한 글입니다. CatServant MediaRecorder Android 멀티미디어 프레임워크에는 다양한 일반 오디오 및 동영상 포맷을 캡처하고 인코딩하는 지원 기능이 포함되어 있습니다. AudioRecorder 는 오디오만 레코딩 가능 하지만, MediaRecorder 의 경우 Audio 및 Video 컨텐츠의 레코딩이 가능 합니다. 다만 인코딩 된 파일을 받기 때문에 AudioRecorder 처럼 PCM Data 를 바로 받아올 수는 없는 단점이 있습니다. MediaRecorder recorder = new MediaRecorder(); recorder.setAudioSource(MediaRecorder.AudioSource.MIC)..
-
[ Android ] 음악 재생하기Android/멀티미디어 2020. 3. 25. 16:48
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. 안드로이드 프레임워크에서 소리와 영상을 재생하기 위해 사용하는 클래스는 아래와 같습니다. MediaPlayer 소리와 영상을 재생하기 위한 기본 API 입니다. AudioManager 기기의 오디오 소스와 오디오 출력을 관리하는 Class입니다. CatServant MediaPlayer Audio / Video File 및 Stream의 재생 제어는 상태 머신(State machine)으로 관리됩니다. 타원은 MediaPlayer 객체의 상태를 나타냅니다. 아크(arc)는 객체의 상태 전환을 구동하는 재생 제어 작업을 나타냅니다. 여기서 단일 화살촉의 화살표(or Arc)는 동기식 메서드 호출이고 이중 화살촉이 있는 화살표(or Arc)는 비동기식 메..
-
[ Android ] 동영상 파일 재생하기Android/멀티미디어 2020. 3. 24. 17:08
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant 실행 결과 Code AndroidManifest.xml android.permission.WAKE_LOCK CPU가 켜진 상태를 유지 한다. wake lock을 사용하면 Application에서 호스트 기기의 전원 상태를 제어할 수 있습니다. wake lock을 생성하고 유지하는 것은 호스트 기기의 배터리 수명에 심각한 영향을 미칠 수 있습니다. 따라서, wake lock은 꼭 필요한 경우에만 사용하고 가능한 한 짧은 시간 동안 유지해야 합니다. MainActivity.java public class MainActivity extends AppCompatActivity { VideoView videoView; public final..
-
[ Android ] 사진 미리보기 - Camera 이용Android/멀티미디어 2020. 3. 17. 17:02
CatServant 옆의 사진은 카메라 미리보기를 구현한 사진입니다. 현재는 android.hardware.Camera 가 deprecated 되어서 Camera2를 이용해야 합니다. 그리고 카메라 화면이 회전되어서 나오기 때문에 똑바르게 회전되어 나오도록 코드를 추가해 주었지만 미리보기 화면은 회전되지 않은 상태로 나옵니다. SurfaceView 카메라 미리 보기를 추가하고 싶은 경우 SurfaceView를 사용하면 됩니다. SurfaceView를 상속하는 새로운 클래스를 만들고 해당 클래스가 SurfaceHolder의 Callback Interface를 구현하도록 합니다. 여기서 SurfaceView는 껍데기 역할만 하고 실제 컨트롤은 SurfaceHolder가 담당합니다. 그리고 뷰의 상태 변화를 ..
-
[ Android ] 사진 찍기Android/멀티미디어 2020. 3. 16. 15:51
이 글은 부스트코스 강의를 공부하며 요약한 글입니다. CatServant SufaceView는 일반 뷰처럼 화면의 일정 영역을 할당받는다. 하지만 View와 독립적으로 구성되어 있어서 직접 SurfaceHolder를 통해서 상태를 관찰하고 상태에 맞게 처리해줘야 한다. getexternalfilesdir / getexternalstoragedirectory ** 이후 추가 Code AndroidManifest.xml : xml 파일의 경로를 넣어줘야 한다. 현재에는 android.hardware.camera2 가 더 많이 사용된다. build.gradle ( Module.app ) → 위험 권한 추가하기 allprojects { repositories { maven { url 'https://jitpac..
-
[ 2020 KAKAO BLIND RECRUITMENT ] 자물쇠와 열쇠Algorithm/프로그래머스 2020. 3. 12. 21:11
CatServant 문제 풀이 위의 그림과 같이 주위에 zero padding을 주고 Lock의 모든 좌표를 확인하면서 진행하면 된다. 그 과정을 key를 90도 씩 회전하면서 4번을 반복하는데 Lock과 Key가 딱 맞아 떨어지는 경우 Ture를 return 해준다. 그런데 이 때, 자물쇠 영역 내에서는 열쇠의 돌기 부분과 자물쇠의 홈 부분이 정확히 일치해야 하며 key의 돌기와 Lock의 돌기가 만나서는 안된다! 2가지 사항만 기억하면 크게 어려운 문제는 아니다. Code #include #include using namespace std; int lockBoard[60][60]; int rotakey[20][20]; int copyBoard[60][60]; void clearBoard(int loc..