본문 바로가기

Android60

Jetpack Media3 알아보기 Jetpack Media3는 Android의 새로운 멀티미디어 라이브러리로, 기존의 MediaSession과 Media2 라이브러리의 후속 버전입니다. 이 라이브러리는 오디오 및 비디오 재생과 같은 멀티미디어 앱을 만들 때 사용됩니다. Media3는 코틀린을 기반으로 하고 있으며, 현대적인 안드로이드 개발 패턴과 잘 통합됩니다. 주요 기능 MediaSession 및 MediaController: 재생 상태 및 컨트롤을 캡슐화합니다. MediaItem: 미디어 콘텐츠를 표현합니다. Player: 실제 미디어 재생을 담당합니다. 기본 사용방법 최신버전으로 넣기 dependencies { implementation "androidx.media3:media3-session:1.2.0" implementation.. 2023. 9. 29.
LiveData와 Flow 어떤 걸 써야할까? LiveData LiveData는 Android Architecture Components의 일부로서, 생명주기를 고려한 데이터 홀더 클래스입니다. 주로 UI와 데이터 상태의 일치를 유지하는 데 사용됩니다. LiveData의 특징 1. 생명주기를 고려: LiveData는 `LifecycleOwner` (액티비티, 프래그먼트 등)의 생명주기 상태를 파악하고, 액티비티가 활성 상태일 때만 업데이트를 보냅니다. 2. 메모리 누수 방지: 자동으로 생명주기와 연결되어 있으므로 메모리 누수가 덜 발생합니다. 3. 캡슐화: LiveData는 변경 불가능한 데이터를 제공하여 캡슐화를 잘 지킵니다. LiveData 더 자세히 알아보기 https://developer.android.com/topic/libraries/ar.. 2023. 9. 29.
Git & Github 간단한 사용방법 정리 + 브랜치 만드는 이유 Git이란 무엇일까? Git은 소스 코드 관리 시스템이며, GitHub는 Git을 웹 기반으로 호스팅하는 서비스입니다. 아래 명령어를 사용해 소스코드를 관리할 수 있습니다. Git설치하기 이미 설치되어있다면 아래 명령어로 version을 확인 가능합니다. git --version Git이 설치되어 있지 않다면, 공식사이트에서 다운로드 및 설치가 가능합니다 https://git-scm.com/downloads Git - Downloads Downloads macOS Windows Linux/Unix Older releases are available and the Git source repository is on GitHub. GUI Clients Git comes with built-in GUI too.. 2023. 8. 2.
ExoPlayer clip media exoPlayer?.apply { prepare() playWhenReady = true repeatMode = REPEAT_MODE_ALL volume = 0f } val clippingConfiguration = MediaItem.ClippingConfiguration.Builder() .setStartPositionMs(startTime) .setEndPositionMs(endTime) .build() val mediaItem = MediaItem.Builder() .setUri(url) .setClippingConfiguration(clippingConfiguration) .build() exoPlayer?.setMediaItem(mediaItem) 2023. 8. 1.
Android 이미지 비율 계산 Ratio 이미지의 가로 세로 비율은 가로의 길이를 세로의 길이로 나누어 계산할 수 있습니다. 예를 들어, 이미지의 가로 길이가 1920픽셀이고 세로 길이가 1080픽셀이라면, 가로/세로 = 1920/1080 = 1.778 이라는 비율을 가지게 됩니다. 이는 일반적으로 16:9의 비율로 불립니다. 만약 가로가 세로보다 작은 경우에는 (예: 세로형 사진) 세로 / 가로로 계산하면 됩니다. 이 경우 결과값은 1보다 클 것입니다. 위의 계산은 비율이 어떻게 표현되는지에 따라 다르며, 가로 / 세로 또는 세로 / 가로로 계산할 수 있습니다. 가장 중요한 것은 일관성을 유지하는 것입니다. 코드 예시 val image: Bitmap = ... // 이미지 로딩 val width = image.width.toDouble() v.. 2023. 7. 25.
Android Fragment간 통신방법 https://developer.android.com/training/basics/fragments/pass-data-between?hl=ko 프래그먼트 간 데이터 전달 | Android 개발자 | Android Developers 프래그먼트 간 데이터 전달 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 프래그먼트 1.3.0-alpha04부터 각 FragmentManager는 FragmentResultOwner를 구현합니다. 즉, Fra developer.android.com 2023. 7. 5.