안드로이드 Cache 디렉토리 이용해 xml 화면 공유하기
오늘은 안드로이드 Cache 디렉토리를 이용해,xml로 구성된 화면을,이미지 파일로 생성해 공유하는 방법을 보겠습니다. 구체적인 구현방법을 알아보기 전에,이미지 공유를 위해서,안드로이드 저장공간 중,왜 Cache 디렉토리를 이용해야 하는지부터,알아보겠습니다. 1. 안드로이드 Cache를 사용하는 이유저장소에 대한 권한은 계속 바뀌어 왔습니다.프라이버시를 강화한 것이라고 하지만,안드로이드 버전별 코드 파편화가 심해지는 현상 때문에,구현하는 개발자 입장에서 테스트해야할 기기도 많아졌고,동적권한 관련해서 코드도 복잡해 졌습니다. 그래서 저는 항상 권한으로부터 자유로운 공간들을 사용할 수 없는지부터 판단합니다.이러한 공간에서 해결할 수 없는 저장공간에 대해서만,복잡하게 파편화된 코드를 사용하는 것 이지요. 이렇..
2024. 12. 10.
MapNotNull 과 MapNotNullTo 에 대한 정리 # null 제거
오늘은 MapNotNull 과 MapNotNullTo 에 대해서 정리해 보도록 하겠습니다. 1. MapNotNull mapNotNull은 엘리먼트에 주어진 transform 연산자를 적용하여서, null 이 나오지 않는 값들로만 list 를 구성해서, 반환해주는 함수입니다. 이름에 map이 있지만, 반환하는 타입은 아래와 같이 List 입니다. null 을 제거해주는 방어연산자라고도 할수 있겠습니다. 2. MapNotNull 예제1 코드를 보면서 이해해 보겠습니다. mapNotNull연산자 안에서, 2로 나누어 나머지가 없이 딱 떨어지는 값은 2를 곱해주고, 그렇지 않은 경우는 null을 리턴하는 조건문을 넣어주었습니다. val numbers = listOf(1, 2, 3, 4, 5, 6) val dou..
2023. 5. 24.
List 아이템 부분추출 함수 정리 # take, takeWhile, takeLast, drop, slice, first and last
오늘은 list 나 Sequence에 적용할 수 있는, 아이템을 부분적으로 추출하는 방법에 대해서 정리해 보도록 하겠습니다. 오늘 볼 API에는 다음과 같은 것들이 있는데요. take, takeLast, takeWhile, drop, dropWhile, slice first, last, firstOrNull, lastOrNull 하나씩 보도록 하겠습니다. 1. take api 이름에서 느껴지는 것처럼, 처음 n개의 요소들을 반환해 줍니다. 아래 코드에서는 처음3개를 취하기 위해서, 3을 인자로 넣어주었구요. 결과는 앞의 1,2,3을 반환해 주게 됩니다. val numbers = listOf(1, 2, 3, 4, 5) val result = numbers.take(3) println(result) // 결..
2023. 5. 15.
any , contains, none , all, containsAll 에 대한 정리 # Kotlin list 존재여부 확인
오늘은 Kotlin list 의 존재여부를 확인하는 함수인, any, contains, none, all, containsAll 에 대해서 정리해 보도록 하겠습니다. 1. any() 적어도 하나 이상의 매칭되는 아이템이 Collection 에 존재한다면, true 를 없으면 false 를 return 해 줍니다. val list = listOf(1, 2, 3, 4, 5) val result = list.any { it > 3 } println(result) // 결과: true
2023. 5. 6.