하루에 0.01%라도 성장하자
반응형

2022/11 4

MAC ADB 설치하기

최근에 PC를 MAC으로 바꾸면서 아주 고통받고 있다. 단순히 sdk를 설치하는 것도 구글링을 해야 할 정도 인데, 매번 헷갈리는 환경변수 설정을 기록해 종종 찾아볼 예정으로 작성한다. 우선 맥에서 많이 필요한 건 해당 폴더의 path 값인데, 이것은 Command + Option + C 로 복사할 수 있다. 이후 터미널 앱을 실행 한뒤 .bash_profile을 찾는다. 없으면 touch .bash_profile 명령어를 이용하여 파일을 만들어 준다. 이후 open -e .bash_profile 로 해당 파일을 열어준다. 이후 export PATH=$PATH:{복사한 값} 형태로 실행하면 환경변수를 선언할 수 있다. 정상적으로 저장 후 닫은 다음 source ~/.bash_profile 입력 하여 .b..

카테고리 없음 2022.11.24

Fragment Commit, CommitAllowingStateLoss 그리고 재현방법

이번에는 Fragment 중 Commit에 관한 내용을 작성한다. 서비스 중인 앱에서 아래와 같은 크래쉬 이력이 남았다. Can't access the Fragment View's LifecycleOwner when getView() is null i.e., before onCreateView() or after onDestroyView() 원인을 찾아보니 Activity 에서 onSaveInstanceState 가 호출된 후 Fragment 에서 commit 이 동작되서 발생한 문제였다. onSaveInstanceState의 호출 시점은 여기를 참고해 보면 좋겠다! 해결 방법으로는 commit 대신에 commitAllowingStateLoss 를 실행해주면 해결된다는 레퍼런스를 쉽게 찾을 수 있었다. ..

Develop/Android 2022.11.23

Livedata setValue와 postValue 그리고 Cannot invoke setValue on a background thread

안드로이드를 개발할 때 요즘 많이들 livedata를 사용한다. state관리에도 용이하고 UI를 즉각 반영할 때도 좋다 livedata를 다루는 여러 가지 기술도 있지만 오늘은 setValue postValue 에 대한 기록을 남기려고 한다. 내가 겪은 코드는 아래와 같다 Cannot invoke setValue on a background thread 백그라운드 쓰레드에서 setVlaue를 호출 할 수 없습니다 :( setValue setValue는 MainThread에서 동작하는 방식이다. // viewModel private val _textStr: MutableLiveData = MutableLiveData() val textStr: LiveData get() = _textStr ... _tex..

Develop/Android 2022.11.10 (1)

Compose Camp!

이번에 컴포즈 캠프를 한다고 해서 신청했고, 이제 시작하게 되었다 원래는 11월 1일 시작이었는데 국가 애도기간에 따라 11월 7일부터 하는 것으로 되었다.. ( 삼가 고인의 명복을 빕니다.. ) 아마 작년이었을거 같은데.. 컴포즈 오픈에 맞춰서 컴포즈를 미리 배울 수 있도록 GDG에서 했었는데 나는 결국 완주하지 못했다 ㅠ ( 변명이지만 하필 그 때 프로젝트가 미쳤었다.. ) 이번에는 꼭 완주하길 바라면서 신청했고...히히 신청하면 초급코스, 중급코스가 있다고 하는데.. 난 중급코스로 배정(?) 되었다.. 초급이 더 재밋을거 같은데 후 이전과는 다르게 이렇게 멋진 홈화면을 제공하고 있어서 그런가 한번이라도 더 사이트를 들어가게 되는 것 같다. 현 회사에서 컴포즈를 도입하기에는 아직 너무나도 먼 일이지만..

Develop/Android 2022.11.08
반응형