전체 글
-
ViewModel에 대하여안드로이드 2023. 4. 17. 23:47
ViewModel은 왜 필요한가?MVVM의 관점으로 봤을 때 ViewModel은 View로 부터 독립적이며, View가 필요로 하는 데이터만을 소유한다. 안드로이드 앱 개발시에도 MVVM디자인 패턴을 적용하면 Activity나 Fragment같은 UI컨트롤러의 과도한 책임을 분담하여 클래스가 거대해지는 것을 방지하고, 유지보수, 재사용성, 그리고 테스트 등을 용이하게 만들어 준다. 구글에서도 앱 개발자들에게 MVVM패턴을 사용하도록 권장하고 있으며, MVVM관점의 ViewModel을 구현할 때 AAC ViewModel을 사용하면 좋다. ViewModel의 특징ViewModel은 Activity에서는 Activity가 완전히 종료될 때까지, 그리고 Fragment에서는 Fragment가 분리될 때까지 메모..
-
추상클래스와 인터페이스안드로이드 2023. 4. 17. 23:47
추상 클래스를 알아보기로 한 계기는 LiveData를 알아보면서 시작됐다. LiveData에 대하여MVVM을 학습하다 보면 데이터는 늘 LiveData를 사용한다. LiveData는 무엇일까? 안드로이드 디벨로퍼 사이트의 문서의 첫 설명에는 다음과 같이 설명하고 있습니다.LiveData는 관찰 가능한 데이터 홀더 클래스입니다. 관찰 가능한 일반 클래스와 달리 LiveData는 수명 주기를 인식합니다. 즉, 활동, 프래그먼트, 서비스 등 다른 앱 구성요소의 수명 주기를 고려합니다. 수명 주기 인식을 통해 LiveData는 활동 수명 주기 상태에 있는 앱 구성요소 관찰자만 업데이트합니다.즉, 앱의 구성요소의 LifeCycle 내에서 동작하고 LifeCycle이 종료되면 같이 삭제가 됩니다. 이러한 특성으로 ..
-
LiveData에 대하여안드로이드 2023. 4. 12. 21:26
MVVM을 학습하다 보면 데이터는 늘 LiveData를 사용한다. LiveData는 무엇일까? 안드로이드 디벨로퍼 사이트의 문서의 첫 설명에는 다음과 같이 설명하고 있습니다.LiveData는 관찰 가능한 데이터 홀더 클래스입니다. 관찰 가능한 일반 클래스와 달리 LiveData는 수명 주기를 인식합니다. 즉, 활동, 프래그먼트, 서비스 등 다른 앱 구성요소의 수명 주기를 고려합니다. 수명 주기 인식을 통해 LiveData는 활동 수명 주기 상태에 있는 앱 구성요소 관찰자만 업데이트합니다.즉, 앱의 구성요소의 LifeCycle 내에서 동작하고 LifeCycle이 종료되면 같이 삭제가 됩니다. 이러한 특성으로 인해 다음과 같은 이점들이 존재합니다.Live Data의 이점1. UI와 데이터 상태의 일치 보장L..
-
MVVM패턴 예제안드로이드 2023. 4. 5. 23:51
MVVM패턴?MVVM패턴이란 Model, View, View Model을 분리하여 뷰에 모델간의 의존성을 줄어주는 패턴이다.뷰(Activity / Fragment)와 모델(Repository)이 분리되어 있고, 이 분리된 두 로직 사이에서 뷰의 이벤트에 따라 모델이 데이터를 반환/저장하도록 통신하는 뷰모델이 존재한다.뷰뷰모델모델이벤트를 발생시켜 데이터 요청해당 데이터를 불러오는 모델의 메소드를 호출뷰모델에서 요청하는 값을 반환모델로부터 받은 값을 라이브데이터에 저장라이브데이터를 감지해 저장된 값을 뷰에 출력위와 같이 뷰와 모델은 서로 어덯게 동작하는지와 상관없이 로직을 작성할 수 있고 뷰모델을 통해 데이터를 통신할 수 있게 된다.MVVM 사용 이유android의 대중적인 패턴에는 MVC와 MVP도 존재한..
-
GDG super.init(version=4) 후기 2컨퍼런스 2023. 4. 5. 23:51
이전글 GDG super.init(version=4) 후기 1과 이어집니다.GDG super.init(version=4) 후기 12023년 4월 1일 GDG Korea가 주최하는 super.init(version=4)를 다녀왔다. 카카오톡 오픈채팅 GDG Korea Android Q&A 운영방을 통해 알게되었다. 개발자들의 모임에 참석한 건 두번째이다. 처음 행사를 알게되었을 때 사실 주제가 흥미로워서 참석했다기 보다는 이러한 행사들을 참여하고 우물속에서 나오기 위해서였다. (생각해보니 주제도 당일에 알게된 것 같다.) 아무튼!! 참여하고 엄청난 울림이 있었다는 것이 중요한 것 아니겠습니까? 발표는 총 6가지 세션이 있었고 나는 그 중 3가지 세션이 크게 다가왔다. 첫째 안드로이드 주니어, 시작점에 서기..
-
GDG super.init(version=4) 후기 1컨퍼런스 2023. 4. 2. 00:35
2023년 4월 1일 GDG Korea가 주최하는 super.init(version=4)를 다녀왔다. 카카오톡 오픈채팅 GDG Korea Android Q&A 운영방을 통해 알게되었다. 개발자들의 모임에 참석한 건 두번째이다. 처음 행사를 알게되었을 때 사실 주제가 흥미로워서 참석했다기 보다는 이러한 행사들을 참여하고 우물속에서 나오기 위해서였다. (생각해보니 주제도 당일에 알게된 것 같다.) 아무튼!! 참여하고 엄청난 울림이 있었다는 것이 중요한 것 아니겠습니까? 발표는 총 6가지 세션이 있었고 나는 그 중 3가지 세션이 크게 다가왔다. 첫째 안드로이드 주니어, 시작점에 서기까지 마이리얼트립의 임준섭 개발자님이 발표를 해주셨다. 준섭님께서는 별거아닌 취준기라고 이야기 해주셨지만 이직준비가 막막했던 나에..
-
안드로이드 앱 개인정보 처리 방침카테고리 없음 2023. 3. 22. 05:47
('https://ho7677.tistory.com/11'이하 'OYJ's Application')은(는) 「개인정보 보호법」 제30조에 따라 정보주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2023년 1월 1부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://ho7677.tistory.com/11'이하 'OYJ's Application')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 경우에는 「개인정보 보호법」 제18조에 따라 별도의 동의를 받..
-
네트워크 CS네트워크 2023. 3. 7. 06:29
1. 웹 동작 방식www.google.com에 접속하는 과정사용자가 브라우저에 URL(www.google.com)을 입력DNS 서버에 도메인 네임으로 서버의 진짜 주소(IP)를 찾음웹 서버와 TCP연결을 통해 HTTP요청 전송웹 서버는 HTTP 응답 메시지를 보냄도착한 HTTP 응답 메시지는 웹페이지 데이터로 변환되고, 웹 브라우저에 의해 출력2. HTTP프로토콜HTTP 프로토콜TCP를 기반으로 웹 브라우저와 웹 서버가 HTML로 작성된 웹 페이지나 동영상, 음성 파일 등등을 주고받기 위한 프로토콜(통신규약)입니다. (거의 대부분의 형식을 지원한다) 통신 과정은 client에서 요청메시지를 보내면 server에서 응답메시지를 보낸다.특징stateless(무상태)stateless를 알아보기 위해 그와 상반..