일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- OkHttp Interceptor
- Android 12 대응
- 66챌린지
- Android DataBinding
- Android
- Android 12
- 습관만들기
- DataBinding
- Android Navigation
- Java
- Kotlin
- 알고리즘 자바
- MVP Architecture
- Android Jetpack
- 프로그래머스 알고리즘
- Android ProgressBar
- WebView
- Android WebView
- 영어공부
- Android ViewPager2
- 안드로이드 카카오 로그인
- Kotlin FCM
- 안드로이드
- 안드로이드 갤러리 접근
- Android Interceptor
- 안드로이드 fcm
- 카카오 알고리즘
- 영어독립365
- scope function
- android recyclerview
- Today
- Total
목록안드로이드 (92)
Developer Geek
Spannable Click Event Example 개요 Spannable과 ClickableSpan을 이용하여 텍스트 뷰의 특정 문구를 눌렀을 때, 심어둔 링크를 바탕으로 웹페이지를 열도록 한다. 여기서는 "안드로이드 개발을 공부하는 신입 개발자입니다. 궁금하시다면 여기로 오시면 제 블로그를 방문하실 수 있습니다." 문장에서 여기에 블로그 링크를 심어서 동작하도록 해보겠다. 앱 실행 화면 Code build.gradle(Module): ViewBinding 사용 android { ... buildFeatures{ viewBinding = true } ... } activity_main.xml MainActivity.kt import android.content.Intent import android...
GridSpaceItemDecoration: RecyclerView 아이템 여백 설정 개요 RecyclerView를 통해서 Grid 형태의 아이템들을 그려야할 때, 단순히 아이템의 레이아웃만으로 일정한 여백을 추가하기는 까다롭다. 예를 들어 SpanCount = 2이고 각 아이템에 20dp에 해당하는 Padding 값을 할당했다고 한다면, 다음과 같이 아이템 간의 사이는 40dp가 되고 상하좌우의 끝의 여백만이 20dp가 될 것이다. 물론 RecyclerView의 Padding 값을 20dp로 추가로 설정한다면 모든 간격이 40dp로 일정하게 만들수는 있다. 하지만 아이템의 여백 설정을 위해 2가지 아이템(2가지 레이아웃 파일)에서 관리하는건 유지보수 하는 입장에서 좋지 않다. 그래서 ItemDecora..
개요 앱 설명 RecyclerView에서 Multi-ViewHolder를 이용하여 메신저 어플리케이션에서 보여지는 UI를 만든다. 실행화면 Code 프로젝트 구조 build.gradle(:Module): ViewBinding 셋팅 android { ... buildFeatures{ viewBinding true } } MessageModel.kt interface MessageModel { data class SenderMessage( val message: String ): MessageModel data class ReceiverMessage( val message: String ): MessageModel } RecyclerView의 Multi-ViewHolder에서 사용할 아이템 아이템을 일반화 ..
스플래시 화면 변경사항 및 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..