no image
kotlin LiveData StateFlow SharedFlow 개념정리.araboza
0. 서론 ㅎㅇ 돈받고 하는 개발일에 바쁘다보니 ( 회사일)한달에 한개정도의 개발 글만 쓰자고 노력해도 잘 안지켜짐 ㅋㅋ 아무튼 오늘은 작업하다가 자주 느끼는 관찰 observe에 대해서 볼까 함 1. 본론(1) mutable이 뭐냐 보니까 listOfmutableListOfliveDatamutableLiveDatastateFlowmutableStateFlow 이렇게 비슷한 용도인 것 같아요 mutable이 뭐냐? 내부의 값을 바꾸거나 변경할 수 있는 형태라고 보면 될 듯 합니다.값 변경이 가능한 list~ liveData stateFlow 아무튼 여기서 예를 들어 먼저 한 개의 스위치가 켜져있을 때 꺼져있을 때 상태를 관찰하는 변수가 있다고 함class MainViewModel : ViewModel(..
2025.07.30
no image
kotlin 헬스 커넥트 걸음 수, 심박수, 소모 칼로리, 걸은 거리 가져오기
ㅎㅇ 오늘은 이 티스토리의 첫 글에서 kotlin 헬스 커넥트 총 걸음수, 칼로리 가져오기[240605] 현재 헬스커넥트가 내장된 안드로이드 14 ? 일듯한 샤오미 태블릿에서 어플을 작동시켜봤을 때, 업데이트를 하고, 권한을 주어도 동작하지 않고, 무한 로딩에 걸림 권한 허용권한 제rkdgnl22.tistory.com시간이 꽤 지난 관계로 개선된 헬스 커넥트에서 데이터를 가져오는 과정을 가져볼까 함 2탄임 ^^ 그 1년 사이 열심히 일하면서 '뭐 해줘' 하면 대충 견적을 짤 수 있는 수준이 됐으니.. 아무튼 0. 환경, 그냥 헬스커넥트를 쓰고 싶다면? 먼저 지난 글을 보면 알겠지만 그 당시 헬스커넥트는 beta버전 이었고 현재는 rc02 로 베타 테스트는 끝난 것 ㅋㅋ implementation..
2025.06.28
no image
kotlin roomDB로 보는 query, migration
0. 서론ㅎㅇ오늘 적을건 쿼리문제대로 백엔드 해본적 없는데 그냥 예전 SQLD공부나 간단한 정도만 알고 있는 수준임 근데 지금 생각보다 Room을 사용하는 부분에서 이것저것 해야하는 상황이 생겨버림이 부분에서 자연스럽게 트랜잭션이 뭔지, 그리고 이것저것 테이블내에서 쓰는 쿼리문이나 테이블 수정 부분을 알게되더라는 그래서 안그래도 회사일 때문에 바빠서 쓸 여유가 없었는데 이걸로 한 번 심폐소생하고 감 먼저 여기서 적을건 RoomDB 만들고 Dao에서 여러 쿼리문 사용하기? 그리고 데이터베이스 버전업 방법 정도 임 기리 1. 본론0) 환경현재 의존성이나 kapt부분이 추가가 돼 있고?#UserDatabase.kt@Database(entities = [userData::class], version = 1)a..
2025.06.01
no image
open source license 받기 Gradle GroovyDSL
0. 서론오늘 적어볼 건 내 의존성에 있는 모든 lib을 html, txt로 받기이거 일일히 다 적을 생각하니까 아득해지는 상황이라 이것저것 kotlin open source license라고 검색해보니구글에서 제공하는 oss가 있는데https://developers.google.com/android/guides/opensource?hl=ko 오픈소스 고지 포함 | Google Play services | Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 오픈소스 고지 포함 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Google Play 서비스는 오픈소스 라이developers.google.com이거..
2025.05.01
no image
kotlin FFmpeg 종료에 대응하는 Media3 다뤄보기
0. 서론gpt 에서 자주 알려주던 안드로이드 ffmpeg 라이브러리. 잘 사용중이었고, kotlin에서 string형식의 명령어만 처리하면 잘 동작하던 이 라이브러리 하지만..? https://tanersener.medium.com/saying-goodbye-to-ffmpegkit-33ae939767e1 Saying Goodbye to FFmpegKitAs of January 6, 2025, FFmpegKit is officially retired.tanersener.medium.com GoodBoy to FFmpegKit라는 청천벽력같은 소식. 공지로 2025년 3월부로 종료한다고 해서 진짜인가.. 했는데  https://github.com/arthenica/ffmpeg-kit250405 기준 깃헙에..
2025.04.13
no image
kotlin jetpack compose 컴포즈 기본 활용하기
0. 서론내 앱이 어느정도 갈무리가 된 지금 Compose에 대해 공부하고 있읍니다.사실 swift가 선언형이라서 선언형을 조금이라도 익숙한 kotlin에서 연습하려고 미리 공부하는중 근데 이게 kotlin 처음 배울 때처럼 공식문서에서 개념을 찾아서 쓰기가 너무 짜증나더라구요 구글링해봤자? 2023년도 글인데 글에서는 변경된 것도 많아서.. 어쩔 수 없이 xml 에서의 변경점에 대해서 적어보려 합니다. 기본 전제 xml로 어느 정도 프로젝트를 진행한 사람 정도가 되겠구요 ㅋㅋ 이제 2년차인 noob이라서.. 세상에 날고기는 분들 많은데 그냥 공부할 거 정리할 겸 적어보려 합니다. 1. 본론먼저 변경점에 대해서 간략히 말하자면, 더 편하고 직관적으로 바뀐게 생각보다 많더라구요?1) cornerR..
2025.03.09
no image
kotlin - Suspension functions can be called only within coroutine body 코루틴
0. 서론특정 화면에서 이런저런 API를 사용하고, 두개의 데이터를 받아올 때 까지 기다린다음 해야하는 기능들도 있어서, 구현중 비동기 처리를 하면서 왜 이건 되고 이건 안될까? 하는의문이 있었음.. 왜 이건 안될까의 하나는 ⬇️android.os.NetworkOnMainThreadExceptionSuspension functions can be called only within coroutine bodywithContext(Dispatchers.Main) {} 했잖아!!!!그래도 백스레드에서 메인스레드 동작들을 하지말라는 오류가 계속 나옴. 근데 아에 CoroutineScope로 빼서 Main에서 동작하면 또 됨. 근데 이 부분에서 동기처리로 되는건지는 잘 모르겠음한 마디로 기초 쌓아서 배운게 아니라 ..
2025.02.15
no image
kotlin OKHttp3 토큰 자동 갱신 요청
안녕하세요 0. 서론 오늘은 로그인 세션을 보안을 지키며 유지하면서 구현했었떤 토큰 자동 갱신에 대한 부분임안드로이드 kotlin에서는 보통 Retrofit을 많이쓰긴하는데 이상하게 처음에 손을 안대다 보니 잘안써지게 됨.뭐 상관은 없으니 레지고. 1. 본론(1) OkhttpProvider.kt먼저 이 자동 갱신은 앱에서 1개만 있으면 되니 Object로 만들었음 이 객체에는 실제 토큰을 재발급하는 API함수와이 OKHttpClient에다가 넣은 accessToken이 만료됐을 경우 재발급 받은 후 기존 API를 다시 요청하는 함수임.  먼저 JWT 형식이고Access토큰은 일정 시간이 지나면 못씀.   (2) 함수 설명함수는 이런 형식임로직순서를 본다면 먼저 1. accessToken을 요청함 2. B..
2025.01.31
no image
kotlin Error occurred while mirroring video: ffmpeg version v4.5-dev-2008-g90da43557f / FFMpeg 안드로이드 동영상 좌우 반전처리
안녕하세요 디버깅 시간..? 과 비슷하지만 그 전에 동영상 좌우반전 처리와 + 관련된 버그 찾기 시간임.  0. 서론이미지는 bitmap으로 변환해서 x축을 -1f 만 해도 쉽게 좌우 반전이 되지만, 영상은 어떻게 해야할까.. 싶음 영상은 2가지 방법? 정도를 제안해줌1. 처음 녹화때부터 Camera에 접근해서 좌우 반전된 카메라를 사용하기2. 녹화된 영상을 사후에 좌우 반전 처리하기  근데 Claude에 의하면, (거의 프롬프트 다루기 석사급임 ㅋㅋ)  녹화 전에 Preview나 VideoCapture 설정 시점에서 미리 좌우 반전을 하는 것 ..CameraX 최신 버전에서는 VideoCapture의 미러링 설정 방식이 좀 다릅니다. 출처: Claude라는데 아무리 봐도 CameraX라이브러리를 써가지..
2025.01.30