분류 전체보기 334

How to Change App Language to English

Hello,We apologize for the inconvenience.There was an issue where the default language was set to Korean.We plan to change the default language to English in the next update. (It will be updated within a week.) For now, you can change the app language by tapping the menu at the top left of the timer screen.The location of General Settings(공통 설정) in the drawer may vary slightly, but you can find ..

이어폰이 있어도, 없어도, 빠져도 스피커로는 절대 울리지 않는 타이머

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

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

조용한 타이머는 소리모드·이어폰모드·완전무음모드를 지원하는 조용한 공간에 최적화된 멀티 타이머입니다.기숙사·도서관(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 앱이어폰·완전 무음 모드로 조용하게 쓰고, 감정·메모·..

개인정보 처리방침 (Privacy Policy)

QuietTimer(이하 “앱”)은 사용자의 개인정보를 수집하지 않으며, 사용자의 프라이버시를 최우선으로 보호합니다.본 앱은 오프라인 중심으로 동작하며, 사용자가 입력한 모든 데이터는 오직 사용자의 기기에만 저장됩니다. 1. 수집하는 개인정보 본 앱은 다음과 같은 정보를 수집하거나 저장하지 않습니다. 이름, 이메일 주소, 전화번호 등의 개인 식별 정보위치 정보(GPS)앱 외부로 전송되는 어떠한 개인 데이터도 없음서버에 저장되는 데이터 없음 앱 내에서 기록되는 모든 정보(타이머 기록, 감정 기록, 메모 등)는 사용자 기기 내부 저장소에만 저장되며, 개발자 또는 제3자가 접근할 수 없습니다. 2. 분석(Analytics) QuietTimer는 더 나은 사용자 경험을 제공하기 위해 익명 사용 통계(사용 패..

포그라운드 서비스 타입 지정 - targetSDK 34

1. 현상 : 다음과 같은 exception 발생 java.lang.SecurityException: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORTED should be specified when a receiver isn't being registered exclusively for system broadcasts  2. 원인Android 14 (API 레벨 34) 이상을 타겟팅하는 앱에서는 이 권한과 타입 지정이 필수로 요구되며,누락 시 SecurityException이 발생하여 앱이 크래시됩니다. 이 타입은 실제로 미디어를 재생하는 경우에만 사용해야 하며, 다른 용도로 사용하는 경우 앱이 거부될 수 있습니다. 3. 해결 - 수정 코드권한 선언 ..

Scaffold Content()에 LazyColum 문제

Scaffold content에 Composable을 넣을 때, Column으로 감싸지 않으면 내부 크기가 정해져서, 리스트의 가장 아래 부분이 확장 가능한 아이템인데 확장이 될 경우 스크롤이 아래까지 자동으로 되지 않는 문제가 발생. 1. Column 적용2. fillMaxSize()적용 해서 전체 크기 사용 가능 하도록 한다.(rememberScollState() 적용 해도 안됨.) 다른 방법을 사용 할 경우  java.lang.IllegalStateException:  Size(1248 x 2147483647) is out of range. Each dimension must be between 0 and 16777215.                                          a..

Unresolved reference: copy

_uiState.update { state -> when (state) { is UiState.Success -> { UiState.Success( data = state.data.copy( newlyAddedId = event.addedId ) ) } else -> state }}이 코드에서 발생하는 오류는 UiState.Success의 data 필드가 UiData 타입이지만, copy 함수를 호출하려고 하고 있습니다. UiData는 인터페이스이므로 copy 함수가 없습니다. copy 함수는 코틀린의 data 클래스..

Incompatible types: UiState.Loading and State<UiState<UiData<Any>>>

Incompatible types: UiState.Loading and State>>  문제 발생 코드val uiState: State>> = viewModel.uiState.collectAsStateWithLifecycle()when (uiState) { is UiState.Loading -> { 원인과 해결 Incompatible types: UiState.Loading and State>> 오류는 uiState 변수의 타입이 State>>가 아니라 UiState.Loading이기 때문에 발생합니다. 1. uiState 변수의 타입을 State>>으로 변경합니다.val uiState: State>> = viewModel.uiState.collectAsStateWithLifecycle() 2. w..

인터페이스와 클래스의 독립 파일 여부

일반적으로, 관련된 클래스와 인터페이스는 같은 파일에 위치하는 것이 좋습니다. 그러나, 이들이 매우 크거나 복잡한 경우에는 각각 별도의 파일로 분리하는 것이 좋을 수 있습니다.  UiData, GroupsUiData, TagsUiData와 같은 클래스는 UI 상태를 나타내는 데이터 모델이므로, 이들은 일반적으로 UI 로직을 담당하는 파일에 위치합니다. 그러나 이들이 여러 곳에서 공유되는 경우에는 별도의 파일로 분리하여 재사용성을 높일 수 있습니다.  ClassificationUiState, GroupsUiState, TagsUiState와 같은 sealed 인터페이스는 각각의 UI 상태를 나타내므로, 이들은 각각의 UI 로직을 담당하는 파일에 위치하는 것이 일반적입니다.   따라서, 이러한 클래스와 인터..

반응형