Programming/Android
-
RTMP (Real Time Messaging Protocol)Programming/Android 2022. 3. 31. 21:18
RTMP (Real Time Messaging Protocol) 어도비 스시템즈사의 독점 통신 규약이다. RTMP는 오디오, 비디오 및 기타 데이터를 인터넷을 통해 스트리밍 할 때 쓰인다. RTMP는 어도비 플래시 플레이어와 서버 사이의 통신에 이용된다. 현재는 플래시 뿐만 아니라 다른 응용프로그램에서도 쓰이고 있다. RTMP (기본): 1935번 포트 사용, 암호화되지 않은 RTMP, 혹시나 1935번 포트로 시도해서 실패하면 443 포트(RTMPS)나 80 포트(RTMPT)로 재시도함. RTMP 동작 순수 TCP 기반의 RTMP 프로토콜은 접속을 지속적으로 유지하는 데 기여한다. 또 실시간 통신을 한다. 더 큰 덩어리의 정보를 보낼 수 있는 동안, 부가적으로 비디오 및 오디오 스트림을 부드럽게 전달하..
-
동영상의 이해Programming/Android 2022. 3. 31. 21:17
동영상의 이해 동영상 영상 + 소리 정보를 가진 파일 해당 글에서는 영상 정보만 가진 파일을 말할 때는 “비디오”, ” 비디오 파일”, “비디오 스트림”으로 용어 정의를 함. 컨테이너 포맷 컨테이너 포맷은 비디오와 오디어를 담아두는 상자나 포장해둔 포장지 정도로 이해하면 됩니다. 아래 그림에서 비디오는 x264코덱으로 만들어 졌고, 오디오는 DTS코덱으로 만들어졌습니다. 컨테이너는 이렇게 비디오와 오디오를 하나의 파일로 만드는 역할을 합니다. 우리가 보통 파일의 정체를 확인하기 위해서는 확장자를 봅니다. 하지만 동영상을 판단할 때 확장자를 봐서는 단지 컨테이너가 무엇인지 알 수 있을 뿐이지. 상자 안에 들어있는 비디오와 오디오가 어떤 코덱으로 만들어져 있는지 알 수 없습니다. 동영상 파일의 확장자인 av..
-
Android ThreadProgramming/Android 2020. 12. 18. 14:15
안드로이드에서 Thread 기본적으로 한 어플리케이션 내의 모든 컴포넌트들은 같은 프로세스 내에서 동작해야 한다. 어플리케이션이 launch되면, 안드로이드 시스템은 해당 어플리케이션이 메인쓰레드를 생성한다. 메신 쓰레드는 UI위젯을 그리는 역할을 수행하기 때문이다. 또한 UI와 상호작용한다. 즉, 메인쓰레드는 UI와 상호작용하는 중요할 역할을 하고 있기 때문에 UI 쓰레드라고 한다. 안드로이드 시스템은 어플리케이션을 구성하는 각 컴포넌트 객체마다 쓰레드를 생성하지 않는다. 동일한 프로세스 내에서 실행되는 모든 컴포넌트들은 UI 쓰레드에서 인스턴스화 되며, 각 컴포넌트들에 대한 호출은 UI 쓰레드에서 실행된다. 결과적으로, 시스템 콜백에 응답하는 메소드들은 항상 프로세스의 UI 쓰레드에서 실행되는 것이다..
-
-
[Android] 해상도와 dpi, px, dp, dip, spProgramming/Android 2020. 12. 1. 01:08
안드로이드는 아이폰과 달리 다양한 해상도를 지원한다. 1. dpi (Dot Per Inch) 1인치당 픽셀 수. 물리적인 단위인 1inch(2.54cm)에 몇 픽셀이 들어가는가를 나타내는 단위 Low density (120dpi) : ldpi Medium density (160dpi) : mdpi (기본) High density (240dpi) : hdpi Extra High density (320dpi) : xdpi xxhdpi : 480dpi xxxhdpi : 640dpi 2.px (pixel) 스크린의 실제 픽셀 단위, 실제 크기나 밀도와 관련없다 절대적 표시 단위 mdpi에서 1dp = 1px 이다. ldpi : 1dp = 0.75px mdpi : 1dp = 1px hdpi : 1dp = 1.5p..
-
Android LifeCycleProgramming/Android 2020. 11. 30. 19:07
1. onCreate() 2. onStart() -> onRestoreInstanceState() 3. onResume() 4. onPause() -> onSaveInstanceState() 5. onResume() 6. onStop() 7. onDestroy MainActivity에서 DetailActivity 호출했을 때 호출되는 LifeCycle Method 순서 [Main]onPause() [Detail]onCreate() [Detail]onStrat() [Detail]onResume() [Main]onStop() -> Detail의 라이프사이클 작업이 끝난 후 호출됨. DetailActivity 종료 후 MainActivity가 보여질때, LifeCycle Method 호출 순서 [Detail]..
-
-
[Android] Toolbar Menu Icon Shadow 효과 적용Programming/Android 2020. 11. 12. 00:00
배경 이미지가 계속해서 바뀌는 액티비티에서 배경이미지가 흰색이고, Toolbar Background가 투명색, Toolbar 메뉴 아이콘이 흰색일 때 메뉴 아이콘이 보이지 않는 이슈가 발생했다. 따라서 배경 이미지가 흰색일 경우에 대응하기 위해 Vector 아이콘에 그림자 효과를 적용함으로써 해결할 수 있었다. 아이디어는 layer-list 태그를 이용하여 Vector Item 2개를 중첩시켜 놓는 것이다. 아래 코드에서 아이콘 pathData 속성만 교체해주면 shawdow가 적용된 아이콘을 사용할 수 있다. Toolbar에 title에 shadow 효과를 주고 싶으면, setElevation(float)을 설정하면 된다. setSupportActionBar(viewDataBinding.editTool..