참고 Activity를 여러 개 만드는 것보다 하나의 Activity와 여러 개의 Fragment로 만들면 좋은 점 👍 화면전환 navigation이 처리해줘서 편리하다. [Android developer 사이트 참고] (https://developer.an
안드로이드 스튜디오에서 unresolved 에러가 난다면 보통 id를 참조하려는데kotlin-android-extensions 라이브러리 를 Build.gradle에 플러그인 하지 않았기 때문일 것인데..나는 라이브러리를 필요로 하지도 않는데 오류가 났다.unresol
kotlin-android-extensions을 사용하면 👍 findViewById함수 생략가능 👎 여러 xml에서 id동일할 경우 코드가 헷갈려짐 그래서 4.1부터 지원중단하고 뷰 바인딩 사용하도록 발표 !! ViewBinding 각각 xml 마다 Vi
AAA : 안드로이드 앱 아키텍처(Android App Architecture) 디자인패턴 MVC -> MVP -> MVVM MVC Model View Controller Model 과 View 완전히 분리, Model 테스트 쉬움 Controller가 안드로
: 안드로이드 앱 아키텍처(Android App Architecture)JetpackLivedata를 사용하여 기본 데이터베이스가 변경되면 뷰에 알리는 데이터 객체를 빌드합니다.ViewModel은 앱 회전 시 제거되지 않는 UI 관련 데이터를 저장합니다.Room은 SQ
Activity-lifecycle 활동 수명 주기에 관한 이해 onCreate() ⬇️ background 로 밀려날 때 onPause() ⬇️ 활동이 사용자에게 표시되지 않을 때 onStop() ⬇️ app 종료 onDestory() kotlin-a
: 특정 컴포넌트에 대한 정보를 넣어서 해당 컴포넌트를 실행하고, 실행되는 컴포넌트에 원하는 데이터를 전달하는 것.의도가 명확할 때 사용호출할 대상이 확실하여, 액티비티가 명확하게 실행되어야할 경우Package와 Class명을 정확하게 명시호출할 대상이 명확하지 않을
OS가 설치된 영역으로 유저가 접근할 수 없는 시스템 영역앱이 사용하는 정보와 데이터베이스가 저장됨컴퓨터에 기기를 연결하면 저장소로 인식유저가 사용하는 영역사진과 동영상은 외부저장소에 저장됨프로바이저를 사용해 사진 정보를 얻으려면contentResolver 객체를 이용
관찰 가능한 데이터 홀더 클래스관찰 가능한 일반 클래스와 달리 수명 주기를 인식수명 주기 인식을 통해 활동 수명 주기 상태에 있는 앱 구성요소 관찰자만 업데이트즉, 수명주기를 반영하면서 값의 변경을 감지하는 데이터 홀더UI와 데이터 상태의 일치 보장앱 데이터가 변경될
: 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 라이브러리즉, xml파일에 data를 연결하여 사용하는 것👍 많은 UI 프레임워크 호출을 삭제할 수 있어 파일이 더욱 단순화되고 유지관리가 쉬워짐👍 앱 성능이 향상되며 메모리 누
Retrofit2 DTO moshi Lifecycle couroutine Livedata Glide navigation viewModel ListAdpater RecyclerView Kakao Developers > Daum검색 > 책 검색 REST API https
안드로이드에서 HTTP 통신을 하기 위해서는 2가지 방식이 있다.Socket 연결클라이언트와 서버의 양방향 통신실시간으로 데이터를 주고 받는 상황이 필요한 경우 (스트리밍, 온라인 게임)HTTP 연결클라이언트가 요청을 보내는 경우에만 서버가 응답하는 단방향 통신실시간
비동기라면 많이 접했을 AsyncTask, 코루틴, Rxjava가 있는데, 오늘은 Coroutine 에 대하여 알아보자!구글에서 AsyncTask가 메모리 누수 등의 문제로 deprecated되어서 코루틴을 사용하는 것을 권장한다고 한다.특징1\. Heap 메모리를 공
안드로이드를 구성하는 4대 Component를 간단하게 정리해보자.Activity : 화면구성Service : 화면이 없고, 백그라운드 작업에 용이Broadcast Receiver : 앱 또는 기기가 발송하는 방송 수신Content Provider : 데이터베이스, 파
Adapter는 데이터를 받아서 레이아웃에 직접 연결해주는 클래스이다.ListAdapter는 DiffUtil을 이용하여 리스트를 업데이트하는 어댑터이다.getCurrentList() : 현재 리스트를 반환한다.onCurrentListChanged() : 리스트가 업데이
BottomNavigationView 로 화면 전환을 하고 있었는데 한 메뉴에서 다른 프래그먼트를 띄울 경우 다른 하단바 메뉴로 돌렸을 때 프래그먼트의 전환을 잘 작동하지만하단바의 아이콘이 움직이지 않고 ! 그대로인 문제가 발생하였다.하나의 프래그먼트안에서 다른 프래그
Activity로 data를 전달하는 경우 Intent를 사용 먼저 전달할 기본 리스트를 생성해준다. Intent 생성 시 context는 this로 받아주고, 이동할 액티비티를 지정한다. Activity -> Activity Fragment -> Activ
Room 라이브러리 : SQLite에 추상화 레이어를 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 한다. 라이브러리를 사용하면 앱을 실행하는 기기에서 앱 데이터의 캐시를 만들 수 있고, 앱의 단일 정보 소스로 제공되는 이 캐시를
Navigaton의 Argument인 Safe Args로 데이터를 전달해보자! 1. 의존성 추가 프로젝트의 Build.gradle id 'androidx.navigation.safeargs.kotlin' version '2.5.3' apply false app
Flow : 순차적으로 값을 배출하는 비동기 데이터 스트림 suspend 함수는 1개의 값을 반환하기 때문에 비동기로 여러개의 값을 계산하여야 할 때 Flow를 사용한다. 코루틴을 기반으로 빌드되며, CoroutineScope안에서 동작한다. suspend 가능한
관계형데이터베이스 (ex.SQLite) SharedPreferences : Key-Value 형태 SharedPreferences 저장하려는 키-값 collection이 작은 경우 SharedPreferencesf를 이용한다. Handler 새로운 공유 환경설