본문 바로가기

개발79

String 관련 함수 정리 문자열을 사용할 때 알아두면 유용한 method에 대해 정리해보려 한다.​ contentEquals() : BooleanCASE 1) String 문자열과 contentEquals()의 괄호 안의 문자열 비교val str:String = "I like Apple."var contentEquals:Boolean = str.contentEquals("I like Apple.") CASE 2) String 문자열끼리 비교val str:String = "I like Apple."var str2:String = "I like Apple."var contentEquals:Boolean = str.contentEquals(str2) CASE 3) String 문자열과 StringBuffer의 문자열을 비교val st.. 2021. 3. 5.
개발하면서 자주 썼던 함수 정리 (maxBy, minBy, groupBy, map, reduce, indices, compareTo) 알아두면 유용한 함수들을 정리해 보려 한다.​maxBy, minBy - 배열에서 가장 큰 수와 작은 수를 구할때 사용fun main() { val arrInt = IntArray(10) {0} for(i in 0 until arrInt.count() step 1){ val random:Random = Random() arrInt[i] = random.nextInt(100)+1 } println(arrInt.contentToString()) // val maxNum:Int? = arrInt.maxBy{it} val maxNum:Int = arrInt.maxBy{it} ?: -1 val minNum:Int = arrInt.minBy{it} ?: .. 2021. 3. 5.
[Android] 화면 크기 별 Layout 생성 화면 크기 별 Layout이 필요한 이유 모바일 환경에서 layout은 여러 가지 화면으로 변형될 수 있다. 예를 들면 하나의 layout을 스마트폰과 태블릿 두 곳에서 사용하면 분명 layout 객체들의 크기가 달라 보일 것이다. 또한 세로, 가로 화면의 전환에 따라 view가 달라질 수 있기에 귀찮더라도 화면의 크기에 따라 또 화면 모드에 따라 맞춰서 layout을 각자 생성해 주는 경우가 있다. ​ 구현해보기 기본 화면은 아래와 같이 세로 모드 portrait로 생성된다. ​ 그럼 가로모드 landscape 화면을 생성해 보자. New -> Layout Resource File ​ File name을 activity_main(본인이 만들려는 layout 이름과 동일하게) -> Orientation .. 2021. 3. 5.
[Android] Serialize, Parcelable, Parcelize 정리 Serialize, Parcelable, Parcelize를 사용하는 이유 기본 자료형과 참조 자료형 객체를 갖고 있는 데이터 클래스를 전달하기 위해 사용한다. 주로 안드로이드에서는 Intent에 데이터 객체 담아 보낼 때 사용된다. ​Serialize 이름 그대로 데이터를 직렬화 해주는 방식이다. Kotlin에서 구현하면 아래처럼 굉장히 짧게 구현할 수 있다. data class Player(val league: String, val skill: String): Serializable reflection이라는 기술을 사용하여 런타임에서 데이터를 직렬화/역 직렬 화하는 과정을 진행하기 때문에 GC가 할 일이 늘어나 속도가 느리다. Parcelable 기존 java를 이용해 앱 개발했을 때, 사용하던 방식.. 2021. 3. 5.
반응형