본문 바로가기
728x90

ⓢⓣⓤⓓⓨ/ⓐⓝⓓⓡⓞⓘⓓⓢⓣⓤⓓⓘⓞ19

[Android] BaseActivity와 BaseFragment 얘의 사용 이유? BaseActivity, BaseFragment 를 통해 보일러 플레이트 코드(반복되는 코드)를 정리하기 위해서! 간단히 말하자면, "코드의 중복을 줄이고 가독성을 높이기 위해"서 프로젝트의 뼈대로 사용되는 클래스이다. 보통 binding이나 그 외 여러 activity/fragment 걸처 공통적으로 수행하는 코드에 대하여 초기화나 이벤트 등을 정리해둠으로서 나중에 다른 activity/fragment에서 이를 상속하여 사용한다. 기존 방식 class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bu.. 2022. 5. 25.
[Android] databinding과 bindingAdapter 데이터바인딩이란? => 데이터와 뷰를 연결하는 작업을 레이아웃에서 처리 할 수 있게 해주는 라이브러리 즉, 예전에 이런씩으로 findViewById로 썼던 양식을 findViewById(R.id.sample_text).apply { text = viewModel.userName } 아래의 @{} 양식으로 바꿔쓸 수 있는 것을 의미한다 이에따라 Activity에서 많은 UI 프레임워크 호출을 삭제할 수 있어 파일이 더욱 단순화되고 유지관리 또한 쉬워진다. 따라서 앱 성능이 향상되며 메모리 누수 및 null pointer exception을 방지할 수 있다. 🧐 쓰는 법 🧐 1. gradle에 추가 android{ buildFeatures { dataBinding = true } } 2. 데이터 클래스 세팅.. 2022. 5. 25.
[Android] 클린 아키텍처(Clean Architecture) 앱 구성요소는 개별적이고 비순차적으로 실행될 수 있으며, 운영체제나 사용자가 언제든지 앱 구성요소를 제거할 수 있습니다. 이러한 이벤트는 직접 제어할 수 없기 때문에 앱 구성요소에 애플리케이션 데이터나 상태를 저장해서는 안 되며 앱 구성요소가 서로 종속되면 안됩니다. 즉, Android 앱은 크기가 커지기 때문에 앱을 확장하고 앱의 견고성을 높이며 앱을 더 쉽게 테스트할 수 있도록 아키텍처를 정의하는 것이 중요합니다. 위의 내용은 안드로이드 공식 문서 중 앱 아키텍처 가이드에 기재되어있는 내용이다. 이러한 내용을 읽어보면 아키텍처 공부를 해야하는 이유가 점점 더 명확해진달까 ..~ 관심사 분리 보통 처음 코딩을 시작하면 Activity와 Fragment에 모든 코드를 작성하는데, 이런 UI 기반의 클래스.. 2022. 1. 28.
[Android] MVVM 패턴 앱잼을 진행하면서 MVVM 패턴을 적용해보자는 우리팀 리드 선배의 말에 따라 1주일 동안 MVVM을 찍먹했다. 그리고 바로 코딩에 들어가니 제대로 이해 못하고 넘어간 부분이 많아 아쉬웠다. 그래서 앱잼이 끝난 지금, 다시 제대로 차근차근 공부해보려고 한다. 여기저기서 찾아보고 이해한 바를 작성하기 때문에 잘못된 정보가 있을수도 있다 :( - MVVM 패턴을 적용하는 이유 기존에 사용하던 MVC패턴에 따라 Activity에 모든 코드를 넣으면 여러 문제가 발생하기 때문이다. 1️⃣ 앱 동작이 많을수록 Activity 자체가 무거워짐 2️⃣ View와 Model 간의 의존성의 높아져 코드가 복잡해짐 3️⃣ View의 UI Refresh를 위해 Model을 참조하므로 앱 규모가 커질수록 코드가 복잡해짐 즉, .. 2022. 1. 27.
[Kotlin] Retrofit2 Retrofit2가 너무 어렵다.. 서버가 너무 어렵다... 그래서 복습했는데도 잘 모르겠어서.. 정리를 하려고 한다.. 1. 서버통신 하려면? ✅ Postman - 서버 파트원과 필요한 데이터 논의 (Postman) - 서버 API문서 확인 후 테스트 (Postman) ✅ 구현부분 - 라이브러리 추가 및 AndroidManifest 설정 - 서버 Rquest/Response 객체 설계 - Retrofit Interface 설계 - Retrofit Interface 실제 구현체 만들기 - Callback 등록하여 통신 요청 2. Retrofit2 란? 서버와 클라이언트 간 http 통신을 위한 라이브러리 (OKhttp를 이용해서 더 편하고 사용하기 쉽게 만든 것) API 통신을 위해 구현된 OkHTTP의.. 2021. 11. 14.
728x90