profile
러닝커브를 따라서 등반중입니다.
태그 목록
전체보기 (104)안드로이드(48)kotlin(47)android(45)코틀린(32)medium(16)1일1문서(16)기초(9)jetpack(7)jetpack compose(6)navigation(5)json(4)epoxy(4)예제(4)fastcampus(3)MVVM(3)Toyproject(3)touch(3)Event(3)RecyclerView(3)fragment(3)ViewModel(3)공유(3)dagger(2)Andorid(2)비동기(2)링크(2)오류(2)compose(2)View(2)에폭시(2)에러(2)의존성주입(2)동기(2)구현(2)Paging3(2)댓글(2)dataclass(2)class(2)di(2)예시(2)클린아키텍처(2)의존성(2)다중 클릭(1)src(1)정적 언어(1)패러다임(1)AndroidStudio(1)리사이클러뷰(1)커뮤니티(1)clipboard(1)sql(1)visibility(1)협업툴(1)데이터 공유(1)AsyncListDiffer(1)프로가드(1)DML(1)URI(1)CAA(1)페어프로그래밍(1)push(1)RX(1)library(1)라이브러리(1)dimensions(1)OOP(1)entrypoint(1)재구성(1)엔트리포인트(1)requestDisallowInterceptTouchEvent(1)List(1)lint error(1)http(1)convert(1)응답코드(1)애자일(1)린트(1)withContext(1)무한스크롤(1)아임포트(1)Epoxy SnapHelper(1)범위 지정 함수(1)바텀시트(1)profile(1)boolean(1)동기적처리(1)postvalue(1)카카오(1)mutable(1)Eventbus(1)coroutine(1)oAuth(1)통신(1)스냅헬퍼(1)lottie(1)트렐로(1)구독(1)페이스북(1)애니메이션(1)url(1)DDL(1)fade in(1)람다(1)다이나믹링크(1)뷰페이저(1)backstack(1)클립보드(1)snapHelper(1)DP(1)앱 설치(1)콘텐츠 라벨(1)소프트키(1)proguard(1)옵저버(1)lateinit(1)with(1)tutorial(1)Dex(1)SharedPreference(1)navigate(1)throttle(1)debounce(1)Bitmap(1)webview(1)fade out(1)서버(1)NavController(1)명령형UI(1)터치영역(1)fragmentManager(1)분류(1)TCL(1)BackHandler(1)레트로핏(1)clipboard manager(1)PagingListAdapter(1)composition(1)autoscroll(1)푸시알림(1)Datastore(1)padding(1)문서 해석(1)오픈소스(1)activityviewmodels(1)계층(1)자동스크롤(1)GuideLine(1)위치(1)prevent(1)backpress(1)multi click(1)gson(1)login(1)라이브데이터(1)RxJava(1)apptheme(1)rearrangement(1)error(1)PendingIntent(1)공식문서(1)jitpack(1)opensource(1)늦은 초기화(1)RxAndroid(1)let(1)내비게이션바(1)클로저(1)네아로(1)백그라운드쓰레드(1)위치 저장(1)CS(1)캐시(1)DiffUtil(1)패딩(1)also(1)foreach(1)fmc(1)이니시스(1)Collection(1)activityViewModel(1)pattern(1)context(1)trello(1)힐트(1)State(1)popuptoinclusive(1)접근 제한자(1)update(1)obeserver(1)background(1)intercept(1)파싱(1)hilt(1)clone(1)난독화(1)ImageView(1)메세지(1)AAC(1)notion(1)manage(1)30(1)visiblee(1)데이터스토어(1)remember(1)(1)by lazy(1)파이어베이스(1)navigateup(1)setvalue(1)popupto(1)코루틴(1)카드결제(1)의존(1)dynamiclink(1)FragmentManagerApi(1)notification(1)소셜(1)ListAdapter(1)프로그래밍 언어(1)infiniteitem(1)이미지뷰(1)테크스펙(1)Intent(1)메시지(1)Configuration(1)설치 여부(1)확인(1)선언형UI(1)동적링크(1)DCL(1)높이(1)노티(1)변환(1)커뮤니티 댓글(1)대댓글(1)requireparentfragment(1)Expand(1)LiveData(1)contentdescription(1)nestedcomment(1)해석(1)popbackstackk(1)뷰모델(1)Access Modifier(1)업데이트(1)BottomSheetBehavior(1)일반결제(1)메인쓰레드(1)retrofit2(1)웹뷰(1)Pending(1)정기결제(1)rxkotlin(1)MVP(1)deeplink(1)카드등록(1)컴포즈(1)json 파싱(1)안드로이드 결제(1)set(1)run(1)jitpack.io(1)retrofit(1)mvp패턴(1)apply(1)Refresh(1)Comment(1)종료(1)대응(1)기본(1)PagingAdapter(1)메모리(1)페이징(1)Expected BEGIN_OBJECT but was STRING at line 1 column 1 path(1)ConstraintLayout(1)airbnb(1)카카오톡 공유(1)Immutable(1)
post-thumbnail

# Introduction Of DataStore

SharedPreferences에 머무르지 말고 DataStore를 사용해보자 !

2022년 4월 21일
·
0개의 댓글
post-thumbnail

# 앱 설치 여부 확인

if(앱 설치){앱 실행}else{앱 설치하는 플레이스토어로 연결}

2022년 4월 8일
·
0개의 댓글

# Jetpack compose Back pressed

jetpack compose에서 override backpressed!!

2022년 3월 28일
·
0개의 댓글

# 댓글 업데이트

listadapter에서 api call 없이 업데이트 해보자 !

2022년 3월 27일
·
0개의 댓글

Jetpack Compose에서 다중 클릭 방지

https://medium.com/@al-e-shevelev/how-to-prevent-multiple-clicks-in-android-jetpack-compose-8e62224c9c5e코루틴에 기반을 둔 방법이 있다. 이 방식에서는 SharedFlow를 생성

2022년 3월 21일
·
0개의 댓글

navigation 이동 Jetpack compose

\[https://developer.android.com/jetpack/compose/navigation?hl=ko먼저 NavHost를 NavController를 단일 NavHost 컴포저블과 연결해야 합니다. NavHost는 구성 가능한 대상을 지정하는 탐

2022년 3월 16일
·
0개의 댓글
post-thumbnail

# FragmentResultApi

개발을 하면서 앱이 점점 복잡해 질수록 Fragment끼리의 통신을 필요로 하게 된다.사용자의 이벤트에 따라 올바르게 반응하거나 한가지 이벤트에 대해서 서로 다른 여러개의 Fragment가 반응해야 할 경우 공통의 채널이 필요로 하게 된다.안드로이드에서는 보편적으로 두

2022년 3월 13일
·
0개의 댓글

상태 관리 remember

Compose는 선언적이므로 Compose를 업데이트하는 유일한 방법은 새 변수로 동일한 컴포저블을 호출하는 것입니다. 이러한 변수는 UI 상태를 표현합니다. 상태가 업데이트될 때마다 재구성됩니다. TextField와 같은 항목은 명령형 XML 기반 뷰에서처럼 자동으로

2022년 3월 7일
·
0개의 댓글
post-thumbnail

# PendingIntent

PendingIntent는 Pending 이라는 단어의 뜻을 알면 된다.Intent의 의미Android에는 크게 4대 컴포넌트들이 있다.Activity,Service,Broadcast Receiver, Content Provider인텐트는 이러한 구성요소들 간의 작업을

2022년 3월 7일
·
0개의 댓글

# 클로저

클로저는 내부함수가 외부함수의 context에 접근 할 수 있는 것을 가리킨다.내부함수에서 외부함수의 데이터를 사용할 경우 외부함수의 코드블럭이 끝나도 내부함수에서 참조한 변수가 계속 살아있게된다. 이 뜻을 의미하려면 다음 코드예시를 보자.정답은 외부함수 x 값이 살아

2022년 3월 3일
·
0개의 댓글

Fade In, Fade Out

visibility를 이용한 true,false로 아이콘을 상황에 맞추어 보여주고 지울수 있다.하지만 갑작스럽게 사라지고 나타난다면 유저로 하여금 당황스러움을 줄 수 있다.안드로이드에서는 이에 따른 Fade In, Fade Out 애니메이션을 지원하고있고 2가지 방법이

2022년 2월 24일
·
0개의 댓글

선언형 UI vs 명령형 UI

Jetpack compose를 공부하던 중 선언형UI라는 단어가 나왔고 이에 대해 정리를 해보려고 한다.기존의 UI를 만드는 방식으로 기존 안드로이드는 트리형태로 뷰를 구성한다.레이아웃을 맨 아래에 깔고 그 위에 브랜치처럼 텍스트뷰, 이미지뷰를 넣고 다시 레이아웃을넣는

2022년 2월 23일
·
1개의 댓글

Jetpack Compose Tutorial

https://developer.android.com/courses/pathways/composeJetpack Compose Tutorial입니다.공식문서를 해석하며 Jetpack Compose를 학습합니다.@Composable 을 이용하여 앱의 구성을 정의한

2022년 2월 22일
·
0개의 댓글

Event Bus

이벤트버스는 과거에 이벤트 기반의 아키텍처를 구현하기 위해 사용 되었었던 방식이다.최근에 Java → Kotlin으로의 대체가 시작되면서 이 접근방식은 점점 KotlinFlow, Livedata와같은 subscribe / publish 아키텍처 구현방식으로 변화해 갔다

2022년 2월 21일
·
0개의 댓글
post-thumbnail

Paging3 Library

https://medium.com/tech-takeaways/how-to-update-paginated-data-with-the-android-paging-3-library-ef2d8581e77fPaging3는 PagingLibrary의 가장 최근 버전이다.해

2022년 2월 21일
·
2개의 댓글
post-thumbnail

스크롤 이벤트 intercept

보통 스크롤 뷰 안에 스크롤 뷰를 넣을때 사용합니다.부모의 스크롤 뷰에게 이벤트를 뺏기지 않고 자식의 스크롤 뷰에서 이벤트를 소비하고 싶을때 사용하며parent.requestDisallowInterceptTouchEvent(true)로 주어 이벤트를 뺏기지 않게 막을

2022년 2월 15일
·
0개의 댓글

URL to Bitmap and URI

게시판에서 글을 작성해야 하며 해당 Fragment를 재사용하여 수정하기 기능도 추가하였다.기존에 글을 작성할 때 사진 첨부가 가능하며 사진 관련 기능으로는1\. 갤러리에서 선택2\. 최대 5장까지 허용3\. 한장씩 혹은 여러개를 한번에 추가 가능4\. 리사이클러뷰에서

2022년 2월 10일
·
0개의 댓글

recyclerview 위치 저장

RecyclerVIew를 사용하다 보면 아이템안으로 들어가거나 다른 프래그먼트,액티비티를 띄우는 경우가 발생한다.이후 다시 되돌아오면 리사이클러뷰의 위치가 항상 처음으로 바뀌어있어서 불편함을 겪는 경우가 있다.예전에는 position을 저장하여 복구하거나 savedIn

2022년 1월 27일
·
0개의 댓글
post-thumbnail

안드로이드 Touch에 대한 이해

안드로이드에는 모든 행동들이 터치로 인해 이루어진다.그렇다보니 개발을 하다보면 ”어 버튼이 왜 안눌려지지?””왜 스크롤이 안되는거야?” 등등...이와 같은 터치에 대한 에러가 발생할 경우가 생긴다.이는 복합적인 원인이 있겠다.터치 이벤트를 적용하지 않음.터치 이벤트를

2022년 1월 26일
·
0개의 댓글

# 2021/01/07

https://ray-chong.medium.com/android-compressing-video-with-ffmpeg-c5c613d65680

2022년 1월 7일
·
0개의 댓글