다수의 코드에서 Enum 역할을 하는 곳에 Sealed class를 사용하는걸 보게 됐고, 한 번 정리하고 넘어갈 필요성을 느꼈다. 간단하게 얘기하자면, Sealed class는 enum class처럼 동일하게 사용가능하면서 보다 유연하고 확장성을 가진다. Enum class 먼저 간단히 Enum class를 살펴보자. enum은 같은 카테고리의 상수들을 나열한 것이다. Kotlin 공식사이트의 예제를 가져오면 다음과 같이 사용한다. 기존 언어들에서도 사용하는 가장 간단한 형태이다….
[태그:] android
Android: “No type arguments expected for …”
Android 개발중에 “No type arguments expected for …” 란 에러메세지를 만난다면 아마도 다른 패키지를 import하고 있을 것이다. 예를들어 나같은 경우, RecyclerView에 ListAdapter를 사용하는데 위 에러가 떴고, 조금 헤맨후에 다음이 잘못 됐음을 알았다. RecyclerView의 경우, gerneric 인자 개수가 다르게 사용된다. 올바른 import는 다음과 같다. 이런 간단한 기록에 블로그 포스팅을 해야하나 살짝 고민했는데, 삽질의 기록은 여기 남기는게…
DB relationship with Room
앞서 DB relationship 에 대해 SQLite로 알아보았다. one to one, one to many, many to many relationship에 대해선 이전글을 참고하고, 동일한 내용을 Room에서 구현해보자. Room 적용시 꼭 직접 테스트 하길 바란다. 처음 사용해보면서 SQL을 사용하는 것보다 오히려 혼란스러운 점도 많았다. 예를들어, api level 24 인 android 7.0 에뮬레이터에선 테이블 생성이 안된건지 그런 테이블이 없다며 오류를…
DB relationship with SQLite
Room에대해 정리하다가, DB의 실사용시 만나게 되는 one to one, one to many, many to many relationship을 어떻게 다루는지 별도로 정리하려고 이 글을 쓴다. SQL문과 Room을 비교해보면 이해가 쉽고 빠를거 같아서 그렇게 정리하려다가 android developer 블로그에 이미 정리된걸 발견했다. 아마도 여기서 크게 벗어나지 않을 것인데, 내용상 SQLite에서 사용하는 것만 먼저 정리해 올린다. Room을 이용하는건 별도 포스팅으로…
빌어먹을 Android Alarm 만들기
간단히 알람앱을 하나 만들다가 간단히 안되서 좀 많이 빡치고 오래걸렸다. 그 경험을 기록하려 한다. 마구잡이로 하다가 성공하고나서 뭐가 어떻게 동작하는지 하루종일 버전별로 이것 저것 테스트 해봤는데, 여전히 혼란스럽기 때문에 적당히 정리가 필요하다. 시작하기전에 꼭 알아야 하는점은, Alarm 앱을 만드는데에 AlarmManager로 해결되지 않는다는 사실이다. AlarmManager를 사용은 하겠지만, 실제 표시하는 부분은 Notification을 이용한다. 이름때문에 함정에 빠지지말자. 일단,…