일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- WebView
- scope function
- 안드로이드 갤러리 접근
- 알고리즘 자바
- 영어독립365
- Android Navigation
- 카카오 알고리즘
- Java
- 영어공부
- Android Jetpack
- Android 12
- Android Interceptor
- 안드로이드 카카오 로그인
- MVP Architecture
- 66챌린지
- Android
- android recyclerview
- 안드로이드
- Android 12 대응
- Android WebView
- 프로그래머스 알고리즘
- Android DataBinding
- DataBinding
- Android ViewPager2
- 습관만들기
- OkHttp Interceptor
- Android ProgressBar
- 안드로이드 fcm
- Kotlin FCM
- Kotlin
- Today
- Total
목록전체 글 (133)
Developer Geek
apply 범위함수 범위함수란 범위함수란 영어로 Scope Funtion으로 불린다. 함수명 Scope Funtion에서 알 수 있듯이 이 범위 내에 함수를 만드는 것이다. 범위(Scope)를 만들어서 그 안에서 람다식을 이용해 로직을 구현할 수 있다. apply 범위함수란 fun T.apply(block: T.() -> Unit): T apply 범위함수에 대해서 Kotlin 공식 문서에서는 다음과 같이 설명하고 있다. The context object is available as a receiver(this). The return value is the object itself. Use apply for code blocks that don't return a value and mainly opera..
PendingIntent Mutability 안드로이드 앱의 targetSdk 버전이 12라면 무조건 PendingIntent 객체에 mutability를 명시해야한다. PendingIntent 란 class PendingIntent: Parcelable 공식문서에는 다음과 같이 설명되어있다. A description of an Intent and target action to perform with it. Instances of this class are created with getActivity, getActivities, getBroadcast and getService; the returned object can be handed to other applications so that they c..
PendingIntent 란 어디서 PendingIntent를 사용했나? 나는 PendingIntent를 Notification을 구현하는 중 학습하는 중 처음으로 사용하게 되었다. FCM을 통해서 푸시 알림을 구현하는데 FCM 사용에 대해서만 초점을 맞추어서 당시에는 Notification에 들어가는 PendingIntent에는 크게 신경쓰지 않고 구글링하여 사용했었다. 단지 PendingIntent는 단어 뜻 그대로 대기하고 있는 Intent로써 Notification을 클릭했을 때, 동작하는 Intent 명시 정도로만 이해했다. 하지만 최근에 Android 12(targetSdk 31) 대응에 대해 학습하던 중, PendingIntent의 (im)mutablility를 명시하지 않으면 안된다는 내용..
WebView Bridge WebView 란 WebView(웹뷰)란 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)의 형태로 앱에 임베딩하는 것을 말한다. 즉, WebView는 앱 내에 웹 브라우저를 넣는 것이다. 웹 페이지를 보기 위해서 혹은 앱 안에서 HTML을 호출하여 앱을 구현하는 하이브리드 형태의 애을 개발하는데에도 많이 사용된다. 자세한 내용은 다음을 참고. [Android] WebView란 WebView 정의 웹뷰(WebView)란 프레임워크에 내장된 웹 브라우저 컴포넌트로 뷰(View)의 형태로 앱에 임베딩하는 것을 말한다. 즉, WebView는 앱 내에 웹 브라우저를 넣는 것이다. 웹 페이지를 보기 위해 devgeek.tistory.com WebView Bridge 란 Bridg..
개요 Foreground Service Foreground Service에 대해 개발 공식 문서에서는 다음과 같이 설명한다. Foreground services perform operations that are noticeable to user. Foreground services show a status bar notification*, so that user are actively aware that your app is performing a task in the foreground and is consuming system resources. Device that Android 12 (API level 31) or higher provide a streamlined experience for sh..
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 {..