![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdomXjC%2FbtrC7Kl3fuQ%2F6av26CxiX2qmAwCDN6knK0%2Fimg.jpg)
안드로이드 [Kotlin] - 코루틴(Coroutine) 1 - 코루틴의 기본 이론
2022. 5. 25. 21:27
Android
📌 루틴(Routine)이란 무엇인가? 루틴이란 프로그램의 일부로써 특정한 일을 실행하기 위한 일련의 명령 우리는 프로그래밍에서 이러한 일련의 명령을 함수라 부른다. 서브루틴이란 무엇인가? 프로그래밍에서 함수 안에 함수가 있을 경우, 바로 안쪽의 함수를 서브루틴이라 부른다. 예를 들어 아래와 같은 코드가 있다고 하자 fun routine1() { routine2() // routine2는 routine1의 서브루틴 } fun routine2() { println("Routine2") } 위 코드에서 routine1을 실행하면 routine2가 속에서 수행된다. 우리는 이러한 routine2를 routine1의 서브루틴이라고 한다. 서브루틴은 루틴에 대해 순차적으로 수행된다는 특징이 있다. 만약 루틴이 수..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FVNQ4C%2FbtrCwglnkWL%2FORWunB52CoOpISNk3pAMC1%2Fimg.jpg)
안드로이드 - Fragment Lifecycle (프래그먼트 생명주기)
2022. 5. 18. 23:52
Android
📌 생명주기란? Lifecycle은 Life + cycle의 합성어이다. 말 그대로 앱이 탄생하고 진행되며 죽음(?)에 이르기까지의 과정이라고 생각하면 된다. Activity, Fragment, Service 총 세 가지 종류의 Lifecycle이 존재한다. 지난번 Acticity 생명주기에 이어 이번에는 Fragment 생명주기에 대해 다뤄보려고 한다. 📌 프래그먼트 특징 프래그먼트 뷰는 프래그먼트 생명주기와 독립적으로 관리되는 별도의 생명주기가 있다. 프래그먼트가 다른 생명주기로 전환되려면 FragmentManager가 있어야 한다. 여기서 FragmentManager란? 공식문서 FragmentManager is the class responsible for performing actions on ..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcsJwPu%2FbtrBkENVTet%2FgDWTtJNGFQB5kEkIXrKxhk%2Fimg.jpg)
안드로이드 - Activity Lifecycle (액티비티 생명주기)
2022. 5. 5. 18:18
Android
Activity는 안드로이드 4대 컴포넌트 중 하나이다. 그중에서도 UI와 가장 밀접한 관련이 있기 때문에 안드로이드 앱에 있어서 가장 기본이 되는 구성 요소이다. 만약 A라는 어플을 보고 있다가 B라는 어플을 켰을 때 당연하게도 A어플은 더 이상 화면에 보이지 않고 B어플이 보이게 된다. 이 때 A어플과 B어플은 각자의 생명주기에 따라 호출되는 함수들이 존재한다. 📌 생명주기란? Lifecycle은 Life + cycle의 합성어이다. 말 그대로 앱이 탄생하고 진행되며 죽음(?)에 이르기까지의 과정이라고 생각하면 된다. Activity, Fragment, Service 총 세 가지 종류의 Lifecycle이 존재한다. Activity 생명주기 기본적으로 Lifecycle 은 위에서 아래 방향으로 진행된..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcbcR5T%2FbtrBcqhTdIp%2FcxwGC0ysP3NeK3IgwjGFt0%2Fimg.jpg)
안드로이드 [Kotlin] - 코드스쿼드 미션 중요 내용 및 피드백 정리
2022. 5. 4. 17:49
Android
해당 글은 코드스쿼드 첫 번째, 두 번째 그룹 프로젝트를 진행하면서 중요하다고 생각한 내용과 피드백받았던 내용들을 공부하기 위해 정리한 글입니다. 📌 LiveData에 데이터를 넣는 방법 (setValue, postValue) 이해하기 LiveData는 Android Architecture Components(AAC)에서 제공하는 라이브러리 중 하나 LiveData는 Observer 패턴을 따르며 데이터의 변경이 일어날 때마다 콜백을 받아 원하는 동작을 실행할 수 있다. 이때 LiveData의 값을 변경하게 해주는 함수가 바로 setValue()와 postValue()이다. setValue() setValue()는 메인 스레드에서 LiveData의 값을 변경해준다. LiveData를 구독하고 있는 옵저버..
![thumbnail](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdBhQMT%2FbtrzAVEe3PB%2FUoZRw4yHPqoCvdrE5kj0Hk%2Fimg.jpg)
안드로이드 [Kotlin] - Retrofit, Gson을 이용한 회원가입 API 통신
2022. 4. 17. 18:20
Android
해당 내용은 코드스쿼드 2022 안드로이드 미션을 수행하면서 공부한 내용을 정리한 글입니다. 또한 https://jminie.tistory.com/154에 이어지는 포스팅입니다. 안드로이드 [Kotlin] - TextInputLayout 및 정규식을 이용하여 회원가입 UI 구현해보기 해당 내용은 코드스쿼드 2022 안드로이드 미션을 수행하면서 공부한 내용을 정리한 글입니다. 모바일 앱을 이용하면 회원가입을 할 때 위와 같은 화면을 많이 접했을 것이다. 사용자 입장에서 당 jminie.tistory.com 앱에서 가장 많이 수행하는 처리 중 하나는 서버에 데이터를 요청하고 받아온 데이터를 단말기로, 즉 클라이언트의 화면에 표시하는 일이다. 이때 클라이언트와 서버가 통신하는 방식은 크게 소켓 연결과 HTTP..