본문 바로가기

전체 글103

[Android-Compose] 안드로이드 컴포즈 5편 예제를 통한 Scaffold 알아보기! - topBar 이번 포스팅은 Compose에서의 Scaffold라는 컴포저블 함수 중 topBar를 공부해보겠다. # Scaffold란? Compose는 머티리얼 구성요소를 일반 화면 패턴으로 결합하는 편리한 레이아웃을 제공합니다. Scaffold와 같은 컴포저블은 다양한 구성요소와 기타 화면 요소를 위한 슬롯을 제공합니다. 공식 문서에서는 위와 같이 말하고 있다. 정리를 하자면 Scaffold는 다양한 구성요소(TopBar, BottomBar, Snackbar, FloatingActionButton, drawerContent) 슬롯을 지원한다. # 기본 구조 @Composable fun Scaffold( modifier: Modifier = Modifier, scaffoldState: ScaffoldState = r.. 2022. 12. 18.
[오류] android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. 해결 법 최근 개발 중 timer를 사용하다가 아래와 같은 오류를 발견했다. android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views. timer(period = 3000, initialDelay = 3000) { with(binding) { if (count >= 3) { count = 0 } else { ++count } textExTitle.text = exTitleList[count] textExContent.text = exContentList[count] } } 위 코드를 보면 timer 스코프 안에서 textView의 te.. 2022. 12. 18.
[배포 - 경고] 안드로이드 구글 플레이 콘솔 앱 배포시 경고 "정부 앱 선언을 완료하지 않았습니다" 해결법 이번 포스팅은 최근 회사 어플을 배포 하려다가 갑자기 생긴 경고 메시지의 해결법을 공유 하겠다. 평소 배포와 똑같이 버전 검토를 하려던 찰나 아래 처럼 경고 메시지가 생겼다. 정부 앱 선언을 완료하지 않았습니다 나는 바로 구글링을 해보았지만 정확한 해결방법과 원인도 나오지 않았다. 구글 플레이 콘솔의 여러 기능을 눌러 보면서 나는 해결 방법을 찾았다. # 해결법 우선 글로 설명 하자면 앱 대시보드 → 왼쪽에 탭 중 정책 및 프로그램 → 앱 콘텐츠 → 정부 앱 → 어플이 정부 앱이면 정부 앱이면 예 아니면 아니요 → 저장 2022. 12. 12.
안드로이드 스튜디오 로그캣(Logcat) 이전 버전으로 돌아가기(돌핀 이전) 이번 포스팅은 정말 간단한 포스팅이다. 안드로이드 스튜디오 돌핀 버전으로 업그레이드를 하면서 로그캣(Logcat)을 보니 완전 달라져 있었다. 물론 업그레이드를 했으니 더 좋아진거? 같은데 나는 아직 적응을 못해서 인지 너무 어려웠다.. 그래서 안드로이드 버전은 같고, 로그캣만 다운그레이드를 하는 방법을 서치했다. # 안드로이드 스튜디오 로그캣(Logcat) 이전 버전으로 돌아가기(돌핀 이전) 방법 - 상단 탭 File -> Settings로 들어가준다 - Settings 창에서 Experimental 검색 후 Enable new Logcat tool window 체크해제를 한다. 그럼 끝! 정리를 하자면 아래 순으로 하면 된다. File - Settings - Experimental - Logcat (.. 2022. 11. 27.
[Android-Compose] 안드로이드 컴포즈 4편 Lazy lists - LazyColumn, LazyRow 이번 컴포즈의 공부 내용은 xml의 리사이클 러뷰의 역할을 하는 LazyColumn, LazyRow, LazyVerticalGrid, LazyHorizontalGrid이다. # Lazy lists(지연 목록) - 안드로이드 공식 문서에서는 Lazy lists(지연 목록)은 아래와 같이 설명 하고 있다. 많은 수의 항목이나 길이를 알 수 없는 목록을 표시해야 하는 경우 Column과 같은 레이아웃을 사용하면 모든 항목이 표시 가능 여부와 관계없이 구성되고 배치되므로 성능 문제가 발생할 수 있습니다. Compose는 구성요소의 표시 영역에 표시되는 항목만 구성하여 배치하는 구성요소 집합을 제공합니다. 이러한 구성요소에는 LazyColumn 및 LazyRow가 포함됩니다. 참고: RecyclerView 위젯을.. 2022. 11. 6.
[Android] 안드로이드 Parcelable(@Parcelize) 사용해 액티비티간 데이터(Object) 전달하기 - Kotlin 안드로이드에서의 액티비티 간 Object를 전달하는 방법은 두 가지가 있다. 1. Serializable(직렬화)를 통한 방법 2. Parcelable interface를 통한 방법 이번 공부내용은 두 번째 방법인 Parcelable을 사용해서 액티비티 간 Object를 전달하는 법을 알아보겠다. # Parcelable란? - Parcel이라는 뜻을 먼저 해석해보면 소포, 꾸러미등으로 해석이 되고 Parcelable이라 함은 택배로 부칠 수 있는 정도로 해석이 가능하다. - Android에서 지원해주는 SDK에 포함되어 있는 인터페이스이다. - Serializable 대비 속도면에서 훨씬 빠르다. # 기존 Parcelable 문제점 - Parcelable을 구현하는 것은 직접 구현해야 한다 그렇게 때문에.. 2022. 10. 28.