본문 바로가기

전체 글68

HiltWorker사용시 Could not create Worker 오류 해결 Hilt로 WorkManager를 Inject하려면 WorkerFactory를 만들어서 넘겨줘야한다. @HiltAndroidApp class ExampleApplication : Application(), Configuration.Provider { @Inject lateinit var workerFactory: HiltWorkerFactory override fun getWorkManagerConfiguration() = Configuration.Builder() .setWorkerFactory(workerFactory) .build() } workManager 2.6.0-alpha01부터는 startup을 사용해 초기화하기 때문에 AndroidManifest에서 startup을 사용하지 않게 변경하거.. 2022. 12. 13.
국가별 날짜 시간 패턴 가져오기 우리나라는 대부분의 경우 년/월/일의 순서로 표기하지만 미국은 월/일/년의 순서로 표기한다. 이렇게 국가마다 날짜와 시간의 포멧이 다고 숫자 사이에 단위도 그 나라의 문자를 사용해야 하기 때문에 API에서 제공하는 포멧터을 사용해서 변환하는 것이 좋다. 사용 방법은 포멧터로 날짜나 시간을 넘기고 SHORT, MEDIUM, LONG, FULL 등의 스타일을 넘기면 된다. 그런데 스타일이 아니라 구체적인 포멧(예: yyyyMMdd)을 가져와 사용해야 한다면 다음 메서드를 사용하면 된다. DateTimeFormatterBuilder.getLocalizedDateTimePattern( FormatStyle dateStyle, FormatStyle timeStyle, Chronology chrono, Locale.. 2022. 12. 7.
Failed to call Unity ID to get auth code. 블랙 프라이데이를 맞아 에셋 스토어 산 에셋을 구경하려고 유니티를 켰는데 오류가 발생하고 내 에셋을 불러오지 못했다. 콘솔을 보니 [Package Manager Window] Error while getting auth code: System.InvalidOperationException: Failed to call Unity ID to get auth code. 유니티 허브는 로그인이 된 상태라 당연히 에디터도 로그인이 되어 있다고 생각했는데 에디터가 로그인이 안돼 발생한 문제였다. 왼쪽 상단의 Sign in 버튼을 클릭해 로그인 하면 해결! 2022. 11. 16.
Room의 DAO에서 suspend를 사용하려할 때 Not sure how to convert a Cursor to this method's return type @Dao interface UserDao { @Query("SELECT * FROM user") suspend fun get(id: String): User } suspend를 사용해 컴파일하려고 보니 아래와 같은 오류가 발생한다. Not sure how to convert a Cursor to this method's return type (java.lang.Object). public abstract java.lang.Object get(@org.jetbrains.annotations.NotNull() 안드로이드 플러그인 1.7.0 버전과 Room 2.4.2 버전을 사용할 때 발생고, 플러그인 버전을 1.6.21로 변경해서 해결했다. plugins { id 'org.jetbrains.kotlin.an.. 2022. 6. 28.