Android 개발중에 “No type arguments expected for …” 란 에러메세지를 만난다면 아마도 다른 패키지를 import하고 있을 것이다. 예를들어 나같은 경우, RecyclerView에 ListAdapter를 사용하는데 위 에러가 떴고, 조금 헤맨후에 다음이 잘못 됐음을 알았다. RecyclerView의 경우, gerneric 인자 개수가 다르게 사용된다. 올바른 import는 다음과 같다. 이런 간단한 기록에 블로그 포스팅을 해야하나 살짝 고민했는데, 삽질의 기록은 여기 남기는게…
[태그:] kotlin
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을 이용한다. 이름때문에 함정에 빠지지말자. 일단,…
Kotlin: data class equals without id
DB를 사용하면서 Entity를 data class로 표현하는데, id를 자동생성되도록 했더니 두개의 entity 비교에 문제가 생겼다. 내가 원하는건, id를 제외한 내용의 비교. data class가 자동 생성해주는 equals()를 포기하고 내가 재정의 하기엔, 너무 말이 안되는거 같아서 한참을 헤매이다가 알아냄. data class가 자동생성해주는 equals()는 primary constructor에 정의된 properties만 사용한다. 위와 같이 정의되면, age에 상관없이 name만 비교가 된다. 알고보니, Kotlin…