일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- scope function
- 안드로이드 갤러리 접근
- Android Interceptor
- Android ViewPager2
- 영어독립365
- DataBinding
- Java
- 프로그래머스 알고리즘
- 카카오 알고리즘
- android recyclerview
- Android Navigation
- 습관만들기
- WebView
- Android 12 대응
- 영어공부
- Android DataBinding
- 안드로이드 카카오 로그인
- 안드로이드 fcm
- MVP Architecture
- Kotlin
- 66챌린지
- OkHttp Interceptor
- Android
- Android ProgressBar
- Android Jetpack
- 안드로이드
- 알고리즘 자바
- Android WebView
- Android 12
- Kotlin FCM
- Today
- Total
목록분류 전체보기 (133)
Developer Geek
스플래시 화면 변경사항 및 SplashScreen API 기본 사용법 개요 Android 12(targetSdkVersion 31) 이상부터는 SplashScreen을 구현하기 위해서는 SplashScreen API로 사용해야 한다. SplashScreen API 를 이용하지 않음으로써 발생하는 문제점 android:windowBackground 를 사용하는 경우, 스플래시 화면이 Android 12 이상의 버전에서는 안드로이드에서 제공하는 디폴트 스플래시로 변경된다. Activity 를 사용하여 스플래시를 구현한 경우, 스플래시 화면이 Android 12 이상의 버전에서는 안드로이드에서 제공하는 디폴트 스플래시 다음으로 Activity 에서 만들어진 스플래시 화면이 보여진다. SplashScreen A..
개요 MVP 패턴이란 [Android] MVP Architecture MVP 패턴이란? Model, View, Presenter로 구성된 아키텍쳐 패턴이다. 등장 배경 처음에 안드로이드 개발을 시작하는 사람이라면 앱에서 사용되는 (비지니스)로직들이 모두 Activity(Fragment)에 작성할 것이 devgeek.tistory.com Model, View, Presenter로 구성된 아키텍쳐 패턴이다. 앱 설명 MVP 아키텍쳐 패턴을 사용하여 명언보기 버튼을 누르면 명언을 랜덤하게 보여준다. 단 명언을 불러오는데 사용자 경험을 고려하여 실행중임을 명시하기 위해 프로그래스바 를 나타낸다. 앱 실행 화면 Code 프로젝트 구조 build.gradle(:app): ViewBinding 세팅 android {..
MVP 패턴이란? Model, View, Presenter로 구성된 아키텍쳐 패턴이다. 등장 배경 처음에 안드로이드 개발을 시작하는 사람이라면 앱에서 사용되는 (비지니스)로직들이 모두 Activity(Fragment)에 작성할 것이다. 이런 개발 접근 방식은 Activity 가 거의 모든 UI와 데이터 처리가지 하게 된다. 나아가 이런 개발 방식은 유지보수와 확장을 어렵게 만든다. 유지보수, 가독성, 확장성 그리고 리팩토링에 유연하게 대처하기 위해서 개발자들은 각각의 코드들이 좋은 레이어단위로 구분되는 걸 선호한다. 아키텍쳐 패턴을 적용함으로써, 우리는 코드를 분리할 수 있다. MVP(Model-View-Presenter) 아키텍쳐는 많이 사용되는 아키텍쳐 패턴 중 하나이고 프로젝트를 조직할 때도 용이하..
개요 ViewModel은 Android Lifecycle aware 객체로, Lifecycle을 고려하여 UI 데이터를 저장하고 관리하도록 설계되어있다. 그렇기 때문에 ViewModel 객체는 ViewModelProvider를 통해서 생성하며, 직접 생성자를 호출하여 생성하지 않는다. 인자가 없는 ViewModel 객체 생성 방법1: ViewModelProvider ViewModel class MainViewModel : ViewModel() { val result = MutableLiveData("init value") } Activity에서 ViewModelProvider를 통해 아래와 같이 ViewModel 객체를 생성할 수 있다. ViewModel 객체 생성 class MainActivity : ..
ViewPager2 Basic Sample 개요 ViewPager2란 화면 슬라이드는 하나의 전체 화면에서 다른 전체 화면으로 전환하는 것으로, 설정 마법사 또는 슬라이드쇼와 같은 UI에서 일반적으로 사용된다. ViewPager2 객체에는 페이지 간 전환을 위한 스와이프 동작이 내장되어 있으며 기본적으로 화면 슬라이드 애니메이션을 표시하므로 직접 애니메이션을 만들 필요가 없다. ViewPager2는 표시할 새 페이지의 요소로 FragmentStateAdapter 객체를 사용한다.실행 영상 프로젝트 구조 Code ViewPagerAdapter.kt class ViewPagerAdapter(fa: FragmentActivity) : FragmentStateAdapter(fa) { private val fra..
[Android] ViewPager Basic Sample ViewPager 란 ViewPager는 사용자가 각 페이지들을 좌우로 스와이프 할 수 있도록 하는 Layout Manager다. 스와이프되는 페이지들은 Activity를 사용하지 않고 Fragment를 사용한다. 대표적인 예로는 Youtube를 이야기할 수 있는데, 사용자가 화면을 전환하기 위해서 오른쪽 또는 왼쪽으로 이동하는 경우다. 또 다른 사용 예로는 사용자가 앱을 처음 시작할 때, 앱을 통해 사용법을 안내하는 데에도 사용된다. Adapter ViewPager에 보여질 페이지들을 연결시키기 위해서는 Adapber를 구현해야한다. PagerAdapter는 FragmentPagerAdapter와 FragmentStatePagerAdapter에..
[Android] 키보드 숨기기 in Kotlin UtilityKeyboard.kt 아래와 같이 프로젝트에 UtilityKeyboard Object를 만들어서 각 함수를 정의하면 편리하게 Activity에서나 Fragment 또는 Context를 이용하여 편하게 키보드를 숨길 수 있다. object UtilityKeyboard { fun Fragment.hideKeyboard() { view?.let { activity?.hideKeyboard(it) } } fun Activity.hideKeyboard() { hideKeyboard(currentFocus ?: View(this)) } fun Context.hideKeyboard(view: View) { val inputMethodManager = ge..
ViewPager2 and TabLayout Sample 개요 앱 설명 ViewPager2와 TabLayout을 사용해 탭 클릭을 통해서 뷰가 스와이프되고, 스와이프를 뷰가 변하고 활성화되는 탭도 바뀌는 앱을 만들어보려고 한다. 실행영상 Code build.gradle(Module): ViewBinding 추가 ViewBinding 사용을 위해 build.gradle(:Module)파일에서 android { } 태그의 속성 값으로 아래와 같이 ViewBinding을 허용해준다. android { ... buildFeatures{ viewBinding true } ... } activity_main.xml TabLayout: 탭 생성을 위한 View ViewPager2: 탭과 연결 될 View fragme..