Android24 개발하면서 자주 썼던 함수 정리 (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. 화면 회전에도 상태 값 유지하기 아래 프로젝트는 8개월 전 Udemy에서 Kotlin for Android:Beginner to Advanced강좌를 통해 공부했던 내용이다. 화면을 회전하게 되면 Activity는 저절로 OnPause -> OnStop -> OnDestroy -> OnCreate -> OnStart -> OnResume을 수행하게 된다. 이 과정에서 당연히 우리가 변수로 저장했던 값들을 null 값으로 변하게 되고 다음 Activity 또는 fragment로 보내려던 값을 정상적으로 보내지 못하게 된다. 이 경우 여러 가지 방법이 있겠지만 가장 쉽고 대표적인 방법으로 OnSaveInstanceState()와 onRestoreInstanceState()를 사용하는 방법이 있다. activity_league.xml.. 2021. 3. 5. [Android] BottomNavigationView와 Navigation Graph를 같이 쓰는 경우 BottomNavigationView와 Navigation Graph를 같이 쓰는 경우 아파치 소프트웨어 제단에서 만든 NavigationExtensions 클래스를 이용해서 구현하길 권장하고 있다. 그 이유는 시작점이 되는 Fragment에서 액티비티를 Finish 할 때 앱이 터진다고 하는데, 아직은 경험해보지 못해서 정확히는 모르겠고... 일단 권장하는 방식대로 앱을 구현해보자 NavigationExtensions 파일은 아래에서 다운 받아준다. android-architecture-components/NavigationExtensions.kt at master · matthewzhang007/android-architecture-components (github.com) matthewzhang00.. 2021. 2. 16. 이전 1 ··· 3 4 5 6 다음 반응형