목록Android (15)
계발자 블로그
Dependency Injection (DI) 의존성 주입이라고 하며 소프트웨어 디자인 패턴 중 하나로 객체지향 프로그램의 개념 중 하나입니다. 객체 간의 의존성을 외부로부터 주입하는 방법을 제공합니다. 전에 작성했던 SOLID 원칙 포스트에서 의존성 역전 원칙을 코드로 실현하는 방법이자 낮은 결합도를 실현하는데 중요한 역할을 합니다. [객체지향] SOLID 원칙 SOLID 원칙이란? SOLID 원칙이란 객체지향 프로그래밍(OOP)에서 지켜야 할 5개의 설계 원칙을 의미합니다. SRP (Single Responsibility Principle): 단일 책임 원칙 OCP (Open Closed Principle): 개방 폐쇄 원칙 LSP (Liskov thuglife.tistory.com 의존의 영향은 꼬..
전에 블로그에서 Navigation을 간단하게 다뤄 본 적이 있었는데 [JetPack] Navigation https://developer.android.com/guide/navigation 탐색 | Android 개발자 | Android Developers Android Jetpack의 탐색 구성요소를 사용하여 앱에서 탐색 구현 developer.android.com Navigation이란? 화면전환을 위한 Android Jetpack 라 thuglife.tistory.com 실무에 Navigation을 직접 도입하면서 여러가지 기능들을 함께 사용 해 보는 계기가 되었습니다. 그래서 블로그에 한번 정리를 해보겠습니다 자바 프로젝트라 예제 코드도 자바로 만들었습니다. Android developer에 코..
안드로이드에는 백그라운드 작업을 수행할 수 있게 해주는 여러가지 방법들이 있습니다. AlarmManager, JobScheduler, Firebase JobDispatcher 등등 하지만 구글은 계속 백그라운드 작업을 제한 하는 정책을 제안하게 됩니다. 그러다 2018년 구글 I/O에서 새롭게 백그라운드 작업을 도와줄 WorkManager가 공개 되었습니다. WorkManager란 안드로이드의 백그라운드 작업을 처리하는 방법 중 하나로 Android Jetpack 아키텍처의 구성 요소 중 하나입니다. 앱이 종료 되거나 기기가 다시 시작 되어도 실행 예정인 지연 가능한 비동기 작업을 쉽게 예약할 수 있게 해줍니다. WorkManager 특징 실행이 보장되며 제약조건을 붙일 수 있습니다. 예를 들면 네트워크..
데이터 결합 라이브러리 | Android 개발자 | Android Developers 데이터 결합 라이브러리 Android Jetpack의 구성요소. 데이터 결합 라이브러리는 프로그래매틱 방식이 아니라 선언적 형식으로 레이아웃의 UI 구성요소를 앱의 데이터 소스와 결합할 수 있는 지원 developer.android.com DataBinding이란? 구글에 따르면 프로그래매틱 방식이 아니고 선언적 형식으로 레이아웃의 ui 구성 요소를 앱의 데이터 소스와 결합 할 수 있는 지원 라이브러리라고 합니다. 간단히 코틀린 코드와 xml의 ui 컨포넌트를 연결하는 라이브러리라고 생각하면 될 것 같습니다. ViewBinding과의 차이점은 DataBinding은 이름 처럼 데이터와 같이 결합 해서 사용할 수 있다는 ..
뷰 결합 | Android 개발자 | Android Developers 뷰 결합 뷰 결합 기능을 사용하면 뷰와 상호작용하는 코드를 쉽게 작성할 수 있습니다. 모듈에서 사용 설정된 뷰 결합은 모듈에 있는 각 XML 레이아웃 파일의 결합 클래스를 생성합니다. 바인딩 developer.android.com ViewBinding은 기존 findViewById와 같이 뷰와 코드를 연결 시켜주는 기능입니다. 이런 식으로 버튼 3개를 만들었습니다. viewBinding을 사용하기 전에는 findViewById를 이용해왔습니다. 3개정도야 코드 작성이 빠르고 보기 쉬울수 있지만 프로젝트가 커질수록 작성해야 하는 코드가 정말 길어지게 됩니다. 그래서 Kotlin-Extiensions를 사용해 findViewById처럼 ..
Bottom Navigation View에 대해 알아보겠습니다 Bottom Navigation View는 안드로이드 환경에서 흔히 볼 수 있는 하단 메뉴 바입니다. 카카오톡이나 인스타그램 등 거의 모든 앱에서 볼 수 있습니다. 바로 만들어 봅시다. 리소스 폴더에 메뉴를 만들어줍니다. 네비게이션 바에 나타나는 메뉴를 만들어주는겁니다. Resource type을 Menu로 해주세요 메뉴 리소스 파일을 만들었으면 안에 어떤 메뉴를 넣을건지 작성해줍니다. 아이콘은 백터 이미지로 넣었습니다. 그리고 메인 액티비티 레이아웃으로 와서 바텀 네비게이션 뷰를 넣어줍니다. 여기서 아이콘의 색이나 네비게이션 바의 배경 색 등을 설정해 줄 수 있습니다. 네비게이션 뷰 위에는 프래그먼트가 들어갈 레이아웃을 하나 만들어줍니다. ..
프래그먼트 | Android 개발자 | Android Developers A Fragment represents a behavior or a portion of user interface in an Activity. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. You can think of a fragment as a modular section developer.android.com Fragment는 Activity내에서 화면 일부를 나타내는 안드로이드 구성 요소 중 하나입니다. 한 Activity내에서 여러 fragment..
Retrofit이란? Squareup사에서 만든 API 통신 라이브러리입니다. 네트워크 통신을 위해 비동기 처리로 사용해왔던 AsyncTask보다 3배 ~ 10배의 성능이 향상되었습니다. 반복된 작업을 라이브러리로 넘겨서 처리가 되어 구현이 간단합니다. Annotation 사용으로 코드의 가독성이 뛰어나고 직관적인 설계가 가능합니다. 사용법 우선 이번에 사용할 url 주소입니다. https://run.mocky.io/v3/b8384223-152e-4d1a-a90c-f793731e5715 보시면 json 형태로 데이터들이 들어가 있습니다. 1. Gradle 의존성 추가 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.sq..
ViewPager2 https://developer.android.com/training/animation/vp2-migration?hl=ko ViewPager에서 ViewPager2로 이전 | Android 개발자 | Android Developers ViewPager에서 ViewPager2로 이전 ViewPager2는 ViewPager 라이브러리의 개선된 버전으로, 향상된 기능을 제공하며 ViewPager 사용 시 발생하는 일반적인 문제를 해결합니다. 앱에서 ViewPager를 이미 사용하고 developer.android.com 뷰페이저는 화면을 스크롤 해서 넘겨 볼수 있는 프래그먼트 간 슬라이드입니다 기존에는 ViewPager를 사용해왔는데 개선된 버전의 ViewPager2가 나왔습니다. View..
인텐트 및 인텐트 필터 | Android 개발자 | Android Developers An Intent is a messaging object you can use to request an action from another app component . Although intents facilitate communication between components in several ways, there are three fundamental use cases: An Activity represents a single screen in… developer.android.com intent는 안드로이드 개발 시 Activity간의 화면 이동과 함께 데이터 전달하는 목적으로 많이 사용하게 됩니다 intent에 ..