개발/안드로이드(Android-Kotlin) 39

AsyncTask 란

AsyncTask 란 뭘까요? 일단 동기와 비동기에 대해서 알아보겠습니다. 동기는 해야할 일이 1,2,3,4,5 가 있을 때 1번 끝나면 2번 시작, 2번 끝나면 3번 시작 이런 식으로 하는 것이고 비동기는 1번 끝나기 전에 2번을 시작해버리는 것입니다. 자, 그렇다면 왜 비동기가 필요할까요? 안드로이드에서 어떤 작업을 처리해야 하는데 (ex 대용량 데이터를 불러와야 하는 것) 데이터를 불러오는 동안, 앱이 멈춰있는 것 처럼 보이면 안되기 때문입니다. 때문에, 일단 UI를 보여주면서, 데이터를 불러오는 작업을 background에서 하는 것입니다.

RXJava란

Rxjava RxKotlin 이란 것을 많이 들어봤는데 이 것은 과연 무엇일까요? RX(Reactive java)에서 이름을 따온 것인데 왜 이것을 사용하는지 알아보니, 자바로 Reactive Programming 을 할 때 사용한다고 합니다. 자, Reactive Programming 이란 뭘까요 무슨 검색해보니 데이터에 흐름을 따라 함수나 수식이 업데이트 된다. 이런 말이 나오는데... 이게 무슨 말일까요?? 매우매우 간단하게 설명하면, 어떤 이벤트가 일어나서 그 이벤트에 따라 무엇인가를 변경해준다. 라고 생각하면 되는데 뭐 변경이야 그렇다치고, 그러면 왜? 사용하는가에 대한 부분은 쓰레드 처리가 간단합니다. 쉽게 말하면, 저희가 직접 프로그래밍으로 핸들링 해주는 것 보다 RXjava 에서 더 효율적..

TextView DP SP

TextView에 속성값을 줄 때 DP 로 해도 먹고 SP로 해도 적용이 됩니다. 근데 이거 차이가 뭘까요? DP는 핸드폰 속성값에 적용을 받지 않는데, SP는 핸드폰 속성값에 적용을 받는다라는 것입니다. 어르신들 보면, 글자가 잘 안보여서 폰트를 왕창 크게 해놓는 경우들이 종종 있는데 SP로 해놓으면 그게 더 커져 보인다는 것이고 DP로 해놓으면 더 커져보이지 않고 그대로란 것입니다. 여기까지 SP와 DP의 차이였습니다.

Retrofit, JSON, GSON, OkHttp, API 란

안드로이드에서 API 사용 방법에 대해 설명하려고 하는데, 나는 흔하게 쓰는 것들을 설명하려다 보니, 정리해봤습니다. retrofit : 처음 사용했을 때 API서버 호출할 때 사용했었다. API 서버를 POST, PUT, GET, DELETE 형태로 호출한다. 그냥 API 호출하는 라이브러리라고 생각하시면 될 것 같습니다. JSON : JavaScript Object Notation 인데, 그냥 데이터 덩어리 라고 생각하시면 됩니다. { a : "a", b : "b", c : "c" } 위의 형태로 나옵니다. 여기 데이터를 뽑아서 사용하는 과정을 파싱(parsing)이라고 합니다. GSON : Java -> JSON -> Java 로 데이터를 변환해주는 겁니다. 그냥 JSON을 안드로이드에서 사용할 때..

Android thread

안드로이드 개발을 하면서, 보게 되는 것 중 하나가 쓰레드 입니다. 쓰레드가 뭘까 하면 철수가 글쓰기를 하고 있을 때 민수가 그림그리기를 해라. 라고 지정해주는 것입니다. 이렇게 말하면 이해가 조금 안될 수도 있는데 안드로이드가 철수라고 생각하면, 안드로이드가 앱의 UI를 그려주고 있을 때, 다른 애(민수)가 나와서 네트워크 호출 같은 부분을 처리해주는 것입니다. 그렇다면 안드로이드가 UI그리기, 네트워크 호출을 모두 다 한개의 프로세스가 할 때 보다 효율적인 이유가 한개의 프로세스가 돌아가는 동안 다른 프로세스도 돌아가고 있기 때문에 모든 프로세스를 기다릴 필요 없이, 사용자에게 빨리 화면을 보여줄 수 있습니다. 자 그렇다면, 코틀린에서 예제를 한번 쳐볼까요? 여기 보이는 thread(start = t..