profile
히히낙낙
post-thumbnail

RecyclerView에서 selector background color 간단하게 적용하기(feat.주의점)

왜냐면, 셀렉터 속성에 drawable밖에 없기 때문.(color로 선언할 수 있는 속성이 없음)그냥 이렇게 color.xml 파일에 drawable 태그로 색상을 선언해주면 된다.그럼 이렇게 drawable 속성에 위에서 만든 color를 넣어줄 수 있다!왜냐면 각

2022년 5월 17일
·
0개의 댓글

fragment에서 lazy를 쓸 때 주의할 점

프래그먼트에 lazy로 어떤 변수를 선언해두고 썼는데, 얘가 다시 돌아왔을 때 제대로 동작을 안함.예) 여기서 FragmentB로 갔다가 다시 A로 돌아왔을때 tabList가 제대로 작동하지 않음.기본적으로 프래그먼트는 제거 될때, 뷰를 파괴한다. 그러나 lazy변수는

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

throttleFirst 대체 Coroutine에서 다중클릭/이중클릭 방지

기존 Rx에서 이중클릭/다중클릭 방지하기 위해 throttleFirst를 사용했었다.Coroutine에서는 어떻게 이중클릭을 방지할 수 있을까?CoroutineScope과 AppCompatActivity를 구현/상속한 BaseOneClickActivity를 만든다. 그

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

프래그먼트 - 2 commit/commitNow/allowingStateLoss

java.lang.IllegalStateExeption: Can not perform this action after onSaveInstatnceState문제의 원인은 Activity의 onSaveInstanceState()가 호출된 후에 FragmentTransact

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

프래그먼트 - 1 add/replace/addToBackStack, FragmentContainerView

Fragment는 Activity나 다른 Fragment에 호스팅되어야함. 이때, Activity는 FragmentActivity 를 상속하는 Activity여야하는데, AppCompatActivity는 FragmentActivity를 상속하고 있으므로 ok방법 1:

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

스크롤뷰 없애고 리사이클러뷰로 레이아웃 고치기

가장 기본적으로 쓰는 scrollview.. 이 안에 리사이클러뷰를 넣으면 리사이클러뷰 스크롤이 안되고 전체 스크롤 뷰가 움직이는 현상이 있었다.그래서 쓰게된,,이걸 쓰고 나면 이제 스크롤도 되고 리사이클러뷰 스크롤도 잘 됐다! 그러나,,,!!!! 가끔 스크롤을 하다보

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

onRestoreInstanceState is Never called! 죽어도 안불리는 이유!

onSaveInstanceState, onRestoreInstatnceState 호출 도식도 이 그림을 보고 onSavedInstanceState와 onRestoreInstanceState가 불리는것을 테스트해보려고 앱에 코드를 넣어보았다. 액티비티A -> 액티비티

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

@JvmStatic가 무엇일까?

안드로이드 New->Fragment 로 프래그먼트를 생성해보면, 이렇게 newInstance함수를 자동으로 만들어주는데, @JvmStatic이라는 어노테이션을 볼 수 있다. @JvmStatic가 뭘까? > 결론: Java의 static 처럼 쓰기 위함. 설명,,,

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

[Git] fork한 프로젝트에서 rebase하기! conflict 해결하기~!! Can’t automatically merge. Don’t worry, you can still create the pul..

fork란?(협업 프로젝트할 때 내 레포에 잔디심기)협업 플젝을 fork하여 사용하다가 PR을 올리려고 하는데 conflict가 발생했당.... !!!!Can’t automatically merge. Don’t worry, you can still create the

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

[Git] 협업 시 내 github에 잔디 심기, fork와 clone의 차이

협업을 하면서 내 깃에 잔디를 심기 위해서 github의 fork기능을 이용하곤 한다!포크는 원격에 있는 레포를 포크로 콕 찍어서 내 레포로 데려오는거다. 그럼원격:A <-- forked된 내 레포:B이렇게 내 레포지토리에 fork된 B가 생기는데, B에 대해 여

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

[Android/Retrofit] Call adapter - 이해/개발

은 HTTP API를 별도 조작 없이 쉽게 응답을 객체로 변환해주는 라이브러리이다. 코틀린을 사용한다면 API 호출 시 내부적으로 요청이 이루어져서 따로 콜백을 정의할 필요없이 응답객체를 받을 수 있다. 그러나 만약 API호출 시 에러가 발생하거나, 기대하지 않는 응답

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

Gson에서 kotlinx-serialization로 갈아탄 이유

: non-null 변수에 null이 들어감;; 여기서 {"name":"Marketing"} 이런식으로 보내면 Employee(null, “Sangeun”) 와 같이 들어감. 여기서 포인트는 no 변수가 non-null이라는 것. 개무시하고 null이 들어가는데, 문법

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

Android의 DataStore 사용할 때 유의할 점 -2

.first()를 호출하면 됨!ref. https://kangmin1012.tistory.com/47

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

Android의 DataStore란? -1

현재 안드로이드에서 dataStore 사용을 적극 권장. 개발자 문서에서도 sharedPreferences 사용 가이드 제거....프로토콜 버퍼를 사용하여 키-값 쌍 또는 Typed Object를 저장할 수 있는 저장소 솔루션.코루틴 및 flow를 이용하여 비동기적이고

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

viewModelScope vs LifecycleScope vs CoroutineScope 차이

CoroutineScope를 이용해 코루틴을 사용하지만, 이를 lifecycle에 맞추어 사용할 수 있다. 뷰모델에서 더 편리하게 만들어준 것이 CoroutineScope.LifeCycleOwner의 lifecycle에 엮여있다 -> lifecycle이 Destroye

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

MVVM에서 말하는 뷰모델과 jetpack AAC 뷰모델의 차이

Model- View - ViewModel 패턴에서 View와 Model 사이에서 데이터를 관리해주고 바인딩해주는 역할.lifecycle을 고려하여 데이터를 저장하고 관리하도록 설계된 클래스.MVVM에 관한 내용은 언급되어있지 않음.이를 이용하면 기존의 Activity

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

Activity, Fragment LifeCycle

Activity LifeCycle onCreate 필수 구현. 전체 lifeCycle 중에 한번만 발생. xml, 멤버변수 정의, 일부 UI 구성 onStart 액티비티가 활성상태에 진입시 호출. 화면에 보여지고 상호작용하는 것을 준비한다. UI 관리하는 코드 초기

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

Kotlin- Map의 종류(TreeMap, LinkedHashMap, HashMap)

BST(자식노드 2개인 BinarySearchTree) 중에서도 RB tree를 사용하여 만들어진 트리 맵.get(), getOrDefault(), put(), remove(), containsKey() 모두 O(logN) 의 시간복잡도를 가진다.\-> HashMap이

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

싱글톤 - kotlin

이게 싱글톤 구현 끝이다!코틀린에선 static 개념이 사라지면서 object 라는 개념이 등장한다. object 로 클래스를 정의하게 되면, 클래스를 정의하는 동시에 인스턴스를 생성한다. 이 때, 무조건 단일 인스턴스 생성을 보장한다.이 클래스 안에 필요한 객체 (e

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

forEach() vs map() vs flatMap()

배열을 사용한다. 배열의 값을 이용하여 원하는 값을 도출함.단순히 배열을 순회하며 주어진 함수를 실행한다.배열을 순회하며 주어진 함수를 실행한 결과를 모아 새로운 배열을 반환함.단일 스트림의 원소를 매핑시킨후 매핑한 값들을 다시 스트림으로 변환하는 중간연산을 담당.ma

2021년 12월 27일
·
0개의 댓글