본문 바로가기

Kotlin/안드로이드 공부

[Kotlin] sqlite - room, 비동기식 처리, 코루틴

728x90

지금까지 자바, c언어, 파이썬, 코틀린.. 언어만 배워왔지 

실질적으로 back-end는 건들여본 적이 없었따 ㅠㅠㅠㅜ 학교다니면서 심지어는 db수업도 들어본 적이 없구..

이번에 sqlite써보는 김에 수업 때 배운건 helper를 사용하는 것이지만 room으로 한번 도전...(아직 뭔지도 모르겠음)

 

 

일단 전반적으로 제일 정리가 잘 되어있던 블로그.

https://namget.tistory.com/entry/%EC%95%88%EB%93%9C%EB%A1%9C%EC%9D%B4%EB%93%9C-ROOM-%EB%9D%BC%EC%9D%B4%EB%B8%8C%EB%9F%AC%EB%A6%AC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%BD%94%EB%A3%A8%ED%8B%B4

 

[안드로이드] ROOM 라이브러리 사용하기 , 코루틴

 안녕하세요 남갯입니다 오늘은 구글 JetPack componet에 포함된 ROOM에 대해 포스팅해보려고합니다. 스스로 정리해서 작성하는것이기때문에 틀린점이나 비판은 댓글에 달아주시면 달게받겠습니다.

namget.tistory.com

 

비동기로 작업하려면

1. asyncTask

2. 코루틴

3. RxKotlin

4. JavaThread 의 방법이 있다고 한다.

 

먼저 가장 익숙했던 asyncTask는 안드로이드11에서 deprecated 되었다고 하고!!!!!

(원래 그냥 쓰던 것도 바꿔야겠군)

 

2,3 번중에 고민했는데

사실 개인의 선택이지만 RxKotlin은 RxJava를 이미 써본 사람들이 코틀린에서도 적용할 수 있게 좀 더 발전시킨 형태이고 코틀린에서는 코루틴이 제일 좋은 선택이라고 판단했다. 롤리팝 버전에서 문제가 있다는 말이 있던데 어쨌거나 나는 코루틴 선택..!

 

 

일단 기본적으로 RxJava를 지원하기 때문에 이 기능들을 모두 사용가능한 것 같고,

 

- Single 타입은 1개가 오면 success 아무것도 안오면 error를 타게됩니다.

- Maybe 타입은 행이 1개 or 0개가 오거나 Update시

 success -> oncomplete를 타게됩니다.

- Flowable 타입은 어떤 행도 존재하지 않을경우 onNext나 onError을 방출하지 않습니다.

 

LiveData와 observe를 이용해서

데이터의 변경을 감지할 수 있다.

 

 

 

 

CoroutineScope(Dispatchers.IO).launch {
// 실행할 코드
}

 

 

'Kotlin > 안드로이드 공부' 카테고리의 다른 글

editText 텍스트 변경 감지  (0) 2020.06.19
fcm  (0) 2020.06.14
RecyclerView에 listener 달아주기  (0) 2020.05.17
RecyclerView 만들기  (0) 2020.05.17
AsyncTask  (0) 2020.05.17