| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- LiveData
- 깃허브
- ViewModel
- Navigation Graph
- 가시성
- 프래그먼트
- 열거
- onResume()
- MVVM
- LifecycleOwner
- NavGraph
- onCreate()
- 풀리퀘스트
- Navigation component
- UI controller
- Backing property
- onStop()
- pullrequest
- IntArray
- Navgivation
- fragment
- arcitecture
- onStart()
- TransactionTooLargeException
- configuration change
- onSaveInstanceState()
- Bundle
- onPause()
- onDestory()
- onRestart()
- Today
- Total
목록분류 전체보기 (26)
밑빠진 지식에 블로그 쓰기
이미 알고 있듯이 Kotlin의 각 클래스에는 0개 이상의 속성이 있습니다. 거의 모든 클래스에서 속성을 사용하게 됩니다. 이 항목에서는 속성 변경 및 값 가져오기와 같은 속성 작업 방법을 자세히 살펴보겠습니다. Property getter 속성 이름이 하나인 간단한 클라이언트 클래스가 있다고 가정합니다. class Client { val name = "Unknown" } val client = Client() 속성 이름을 검색하는 방법을 이미 알고 있습니다. 개체 이름 뒤에 마침표와 속성 이름을 입력하기만 하면 됩니다. client.name 이것은 매우 간단해 보이지만 사실 어떤 속성의 값을 얻고자 할 때 getter라는 특별한 get() 함수를 호출합니다. 실제 모습은 다음과 같습니다. class C..
프로그래머는 다른 프로그래머와 코드를 공유한다. 예상치 못한 방식으로 코드를 사용하는 경우 의도하지 않은 변수를 변경하고 메서드를 호출한 것을 발견하면 실망할 수 있습니다. 이를 방지하기 위해 대부분의 객체 지향 프로그래밍 언어에서 제공하는 도구 집합인 캡슐화를 사용하여 코드의 어느 부분이 대중에게 접근 가능한지 아닌지를 지정할 수 있습니다. 이를 방지하기 위해 대부분의 객체 지향 프로그래밍 언어에서 제공하는 도구 집합인 캡슐화를 사용하여 코드의 어느 부분이 대중에게 접근 가능한지 아닌지를 지정할 수 있습니다. 캡슐화 캡슐화는 일부 구성 요소에 대한 직접 액세스를 제한하면서 작동하는 메서드와 함께 데이터를 묶는 것을 말합니다. 객체 지향 언어를 사용하여 프로그래밍할 때 모든 수정 사항을 제어할 수 있습니..
상수를 사용해 본 적이 있다면 "어떻게 상수를 한 곳에 저장하고 동시에 모두 처리할 수 있을까?" 라는 생각을 한적이 있을것이다. 이 질문에 대해 Kotlin은 Enum이라고 말한다. Enum은 상수를 논리적 집합으로 나타내고 코드를 더 명확하고 일기 쉽게 만든다. enum은 일반적인 클래스에서 자체 열거(enum의 단어뜻)를 만들수 있게 해주는 키워드 입니다. enum class Rainbow { RED, ORANGE, YELLOW, GREEN, BLUE, INDIGO, VIOLET } 위의 예에서 볼 수 있듯이 무지개의 7가지 색상에 대한 열거형이 있습니다. 이제 우리는 이 모든 색상에 대한 자체 저장소를 갖게 되었습니다. 그들 각각은 별도의 Enum 인스턴스입니다. 추가로 수정할 수 있는 방법을 확..
개발을 하다 보면 컴파일이라는 단어를 자주 마주 친다. 컴파일이란 무엇인지 자바의 컴파일 코틀린의 컴파일 컴파일러 란 무엇인지 알아 보겠습니다.
Log 클래스는 로그캣에 메시지를 작성하는 클래스 입니다. Logcat은 로깅 메시지를 위한 콘솔 입니다. 첫번째 파라미터는 Tag입니다. Tag는 로그 메시지를 쉽게 찾을수 있도록 하는 문자열 입니다. Tag는 일반적으로 클래스의 이름 입니다. 좋은 관례 const val TAG = "MainActivity" const val(란 무엇인가) compile-time constant https://kotlinlang.org/docs/reference/properties.html#compile-time-constants kotlinlang.org const val : compile-time constant(컴파일 시간 상수) 는 변경되지 않는 값입니다. 변수 선언 전에 const를 사용하여 컴파일 타임 상수..
모든 액티비티는 생명주기를 가지고 있다. 탄생 부터 죽음 까지 처음 생성되어 초기화 될때부터 파괴되고 시스템에서 메모리를 회수할 떄까지 다양한 상태로 구성된다. 유저가 앱을 시작할때, 액티비티 사이를 이동할때 앱에서 나가고 들어올때, 액티비티의 상태가 변경됩니다. 우리는 이렇게 상태가 변경될때 어떤 동작을 하고 싶습니다. 즉 코드를 실행 시키고 싶다. 그러기 위해서는 생명주기 콜백 함수를 구현 해야한다. 액티비티 상태가 변경 될때 안드로이드 시스템(운영체제)가 콜백함수를 호출한다. onCreate() : 액티비티에 대한 초기화를 해야하는 곳 레이아웃을 inflate합니다. => 인플레이트 문서 만들기( 인플레이트란 무엇인가) 클릭리스너를 정의합니다. 뷰바인딩을 설정합니다. onCreate() 실행된 후에..
https://leetcode.com/problems/richest-customer-wealth/ Richest Customer Wealth - LeetCode Can you solve this real interview question? Richest Customer Wealth - You are given an m x n integer grid accounts where accounts[i][j] is the amount of money the i th customer has in the j th bank. Return the wealth that the richest customer has. A custom leetcode.com class Solution { fun maximumWealth(acc..
https://leetcode.com/problems/running-sum-of-1d-array/description/ Running Sum of 1d Array - LeetCode Can you solve this real interview question? Running Sum of 1d Array - Given an array nums. We define a running sum of an array as runningSum[i] = sum(nums[0]…nums[i]). Return the running sum of nums. Example 1: Input: nums = [1,2,3,4] Output: [1,3,6, leetcode.com 어떤 생각을 해야 할까. 1. 출력할 결과를 정의한다. 2..
- 실행시 제네릭스의 동작: 소거된 타입 파라미터와 실체화된 타입 파라미터 타입 소거 : 실행시점(runtime)에 제네릭 클래스의 인스턴스에 타입 인자 정보가 들어가 있지 않다. 실체화 : inline을 이용하여 함수를 사용할때 타입 인자가 지워지지 않게 하는 방법 - 실행 시점(runtime)의 제네릭 : 타입 검사와 캐스트 -> 제네릭 타입 인자 정보는 런타임에 지워진다. -> 제네릭 클래스의 인스턴스가 그 인스턴스를 생성할 때 쓰인 타입 인자에 대한 정보를 모른다. ex) List를 만들어도 실행시점(runtime)에는 단지 List일 뿐이다. -> 실행시점에는 어떤 타입의 원소를 저장하는지 알수 없다. -> 컴파일러는 List과 List를 다른 타입으로 알지만 런타임에서는 단지 List로 같은 ..