안드로이드 202

이어폰이 있어도, 없어도, 빠져도 스피커로 절대 울리지 않는 조용한 타이머 - 지하철, 도서관, 쪽잠, 음성

조용한 타이머는 소리모드·이어폰모드·완전무음모드를 지원하는 조용한 공간에 최적화된 멀티 타이머입니다.기숙사·도서관(5분/10분 쪽잠 알람)·사무실·스터디 카페(공부, 독서)·커피숍·대중교통(지하철/버스)처럼 소리를 낼 수 없는 환경에서도 안심하고 사용할 수 있도록 설계됐어요.개별 타이머 실행 중에도이어폰 모드로 퀵 전환을 하면 이어폰이 없으면 절대 소리 없이 화면 / 진동 / 플래시로만 알려요!이어폰이 연결 되어있으면 이어폰으로만 소리가 나와요!타이머를 사용할 때마다 감정·메모·세션 기록이 자동으로 남아시간이 지날수록 나만의 루틴과 생활 패턴이 자연스럽게 보입니다. 광고 없음결제 없음구독 없음 https://play.google.com/store/apps/details?id=com.comostudio.q..

조용한 타이머 - 이어폰이 없어도, 진동/무음 모드가 아니어도! 절대적으로 조용한 멀티 타이머! (광고X 구독X 결제X 완전무료O)

QuietTimer는 소리모드·이어폰모드·완전무음모드를 지원하는조용한 공간에 최적화된 타이머입니다.기숙사·도서관·사무실·카페처럼 소리를 낼 수 없는 환경에서도안심하고 사용할 수 있도록 설계됐어요.이어폰 모드만 켜면이어폰이 없어도 단말기가 진동/무음/방해금지 모드가 아니어도! 완벽하게 조용하게 울려요!타이머를 사용할 때마다 감정·메모·세션 기록이 자동으로 남아시간이 지날수록 나만의 루틴과 생활 패턴이 자연스럽게 보입니다. 광고 없음!구독 없음!결제 없음!완전 무료!https://play.google.com/store/apps/details?id=com.comostudio.quiettimer QuietTimer – 조용한 타이머 - Google Play 앱이어폰·완전 무음 모드로 조용하게 쓰고, 감정·메모·..

The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant)

com.google.android.material.bottomappbar.BottomAppBar material 을 사용 할 때, material 테마를 적용 해주시 않으면 아래와 같은 에러가 나온다. The style on this component requires your app theme to be Theme.MaterialComponents (or a descendant) layout.xml 과 style.xml에 아래와 같이 수정 해준다. 1. layout android:theme="@style/MaterialTheme" 2. style

안드로이드 스튜디오 빌드 10% 향상 시키기

Build Analyzer 를 실행 하면 아래와 같이 팁이 나타나는데, 따라 해주면 10%의 성능 향상이 기대된다고 한다. gradle.properties 에 org.gradle.jvmargs=-Xmx2048m org.gradle.parallel=true 에서 아래 라인을 추가 -XX:+UseParallelGC 하면 org.gradle.jvmargs=-Xmx2048m -XX:+UseParallelGC org.gradle.parallel=true 요렇게 되고, Build Analyzer를 다시 실행하면 위 팁이 사라진다.

Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8.

안드로이드 스튜디오 버전이 올라가면서, Gradle 버전이 7로 올라가면서 자바 11로 올려줘야 하는 문제. > Failed to apply plugin 'com.android.internal.application'. > Android Gradle plugin requires Java 11 to run. You are currently using Java 1.8. You can try some of the following options: Mac 은 AndroidStudio > Preference Window는 File > Settings 간단하게 11로 변경만 해주면 완료 된다.

viewpager 사용 시 하단 영역을 벗어날 경우

위와 같이 아래 영역을 넘어가게 되어 하단에 버튼등을 고정 시킬 경우 보이지 않는 문제가 발생한다. 1. viewpager의 marginBottom="?actionBarSzie" 로 하게 될 경우 버튼은 보이지만 스크롤 할 경우 같이 올라가며 하단 빈 영역이 보이게 된다. 2. Tab과 CollapsingToolbarLayout 를 사용 할 경우 다른 레이아웃으로 감싸주면 스크롤 범위가 영역과 맞아져저 해결은 되지만, 탭의 구성이 찌그러지게 된다. 즉, CoordinatorLayout 아래 다른 레이아웃으로 감싸면 안됨. 3. 원인은 app:layout_behavior="@string/appbar_scrolling_view_behavior" 뷰 페이저의 스크롤링을 적용했기 때문에 하단으로 더 길게 스크롤..

smart cast to is impossible because is a mutable property that could have been changed by this time

변경될 수 있는(mutable/var) 타입을 캐스팅 할 경우 문제가 생긴다. 이 경우에는 val 불변 타입으로 새로운 변수에 할당 한 뒤에 캐스팅을 해야 한다. private val plantDetailViewModel: PlantDetailViewModel by viewModels { InjectorUtils.providePlantDetailViewModelFactory(requireActivity(), args.plantId) } val binding = DataBindingUtil.inflate( inflater, R.layout.fragment_plant_detail, container, false ).apply { viewModel = plantDetailViewModel //error bea..

[Sunflower 디비보기] BindingAdapter로 View visible/gone

Data Binding으로 View와 직접 데이터를 연결 해 놓으면, 네트워크, DB, 다른 View의 변경 작업만으로 해당 뷰가 사라지고 나타나게 할 수 있다. 자동으로 작업이 되게 하려면 View 는 observe 작업을 통해 viewModel -Model 과의 연결을 해 놓아야 한다. 식물 리스트에서 나의 정원으로 담기를 해 놓은 것이 없다면, 리사이클러 뷰를 아예 보여주지 않는다. @BindingAdapter("isGone") fun bindIsGone(view: View, isGone: Boolean) { view.visibility = if (isGone) { View.GONE } else { View.VISIBLE } } Android AAC JetPack Sunflower 이 글은 코모가 ..

반응형