일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 커스텀뷰
- 람다식 인라인
- 코틀린인액션
- 컴퓨터과학
- 인텐트
- DP
- 코틀린
- 백준1753번
- mipmap
- 최단경로
- CustomView
- 매니페스트
- 데이터베이스
- Kotlin-In-Action
- 브로드캐스트 리시버
- 패스트캠퍼스
- 안드로이드
- 우테코 프리코스
- lifecycle
- 해상도
- 이것이코딩테스트다
- 다익스트라
- 플로이드 워셜
- 코틀린 코딩 컨벤션
- 백준11404번
- 콘텐츠 프로바이더
- 액티비티
- Drawable
- 알고리즘
- 생명주기
- Today
- Total
목록전체 글 (16)
생각정리

코틀린의 특징 1. 코틀린은 자바와의 상호운용성을 중시함. 2. 코틀린은 정적 타입 지정(타입이 한번 정해진 변수는 바뀌지 않음)을 중요시하는 언어임. 반대의 언어로는 파이썬 같은 동적 타입 지정 언어가 있음. 3. 객체지향 프로그래밍 언어이면서도 함수형 프로그래밍 언어의 성격도 갖고 있다. 4. 코틀린은 자바스크립트를 지원해서 코틀린으로 웹 풀스택 개발이 가능하다. 5. 추후에는 코틀린을 가상머신 없이 그 자체의 네이티브 코드로 컴파일하고 실행가능하도록 만들 것이다. 6. 코틀린이라는 이름은 러시아에 위치한 코틀린 개발팀이 주로 살았던 섬 이름이라고 한다!!!! 7. 코틀린의 핵심 기능은 확장함수와 수신객체 지정 람다라고 한다. 코틀린의 범위지정함수(applyt,with,let,also,run 등)는 ..
UI(user interface)의 기본 구성요소가 바로 뷰다. (뷰들을 담는 뷰그룹도 하나의 뷰다. 실제로 상속구조로 클래스가 구현되어있음) 안드로이드는 UI를 통해 사용자와 소통한다. 안드로이드에서 제공하지 않는 위젯이 필요하다면 커스텀 뷰를 만들어야 한다. 때문에 이 파트도 매우 중요함. 크게 세 가지 과정으로 나뉨. measure -> layout -> draw 전위순회 방식(알고리즘의 일종으로 트리구조에서 루트노드부터 시작하는 특징)을 사용하므로, 부모뷰 부터 그려지게 된다. measure 단계 뷰의 크기를 계산하는 단계임. 모든 뷰는 각각 자신의 width, height 를 계산한다. measure 과정에서, 부모 - 자식 뷰간의 크기 정보 전달을 위해 2가지 클래스를 사용한다. (ViewGr..
이 생명주기에 속해서 시스템에의해 호출되는 함수들을 콜백함수라고 한다. onCreate(): 액티비티 처음 생성시 onStart(): onResume(): 리줌 상태(=러닝 상태)가 된다. 이때부터 사용자와 상호작용이 가능하다. onPause(): 다른 액티비티가 포그라운드상태가 되는 등 해당 액티비티가 조금 가려지게 되는 상황이 오게 되면(=상단 상태바 스크롤 제외) 해당 콜백 함수가 호출된다. onStop(): 아예 이 액티비티가 안보여지게 되는 경우 onDestroy(): 액티비티가 꺼지거나 앱이 꺼지는 경우 onStop()까지 호출되어서 스탑된 상태에서 다시 해당 액비비티가 포그라운드에 오게 되는 경우의 과정: onStop() -> onRestart() -> onStart() -> onResume..

크기의 단위인 dp(=dip)의 개념: Device Independent Pixels 의 약자임. 독립적 단위 수치임. 어떠한 해상도의 디바이스든지 상관하지 않고 같은 크기를 보여주는 것이 목적이다. DPI(=density=밀도): Dots Per Inch의 약자. 1인치에 들어있는 픽셀의 수. 안드로이드에서는 160(밀도)을 기본으로 함. px: 스크린의 실제 픽셀 단위를 사용한다. 실제 크기나 밀도와 상관 없다. 변환 공식: px = dp * (dpi/160) 160dpi 해상도에서 1dp는 1px과 같다. 160dpi를 mdpi라고 부른다. 여기서 m은 medium이다. 그렇다면, 320dpi에서 1dp는 몇 px일까? 2px이다. 320 dpi = xhdpi 480 dpi = xxhdpi 640 ..
안드로이드 앱의 res폴더에는 이미지 자원을 넣을 수 있는 폴더가 drawable과 mipmap으로 두 개 존재한다. drawable/ 폴더는 이미지 자원을 위한 폴더임. 이 폴더에는 이미지 자원(png,jpeg,gif 등)혹은 드로어블 shape를 묘사하는 xml파일등을 위치시키면 된다. 이 폴더에 이미지 자원을 넣으면, 단말의 밀도에 따라 가장 적합한 이미지를 보여준다. mipmap 폴더는 런쳐 아이콘 이미지 자원만을 위한 폴더임. 기본적인 동작은 같지만 mipmap폴더에는 런쳐 아이콘만 넣어야 한다. 단말의 밀도에 관계없이 런쳐에 가장 적합한 아이콘을 보여준다. mipmap폴더의 존재이유는 런쳐 홈 때문임. 런쳐 앱은 홈 화면에 보이는 앱 아이콘의 크기와 갯수를 스스로 결정 가능함. 가로와 세로로 ..

앱 구성요소란? 안드로이드 앱의 필수적인 구성요소들을 의미한다. 시스템이나 사용자가 앱에 들어올 수 있는 진입점(entry point)임. => 4대 컴포넌트: 액비비티, 서비스, 콘텐츠 프로바이더, 브로드캐스트 리시버 액티비티 사용자가 앱과 상호작용하기 위한 진입점임. 앱 실행 시 모든 내용을 불러오는 것이 아니라 액티비티를 호출해서 보여주는 방식으로 진행됨. 액티비티는 모든 앱에 반드시 1개 이상 존재한다. 액티비티는 앱 구성요소 중 유일하게 UI가 존재한다. 상호작용을 위해. => 사용자의 입력을 받는 방법으로는 다음 종류들이 존재함(클릭, 더블클릭, 롱 클릭, 스와이프, 드래그 앤 드랍 등...) 액티비티는 앱 구성요소이므로 생명주기가 있다. 서비스 백그라운드에서 오래 실행되는 작업 수행을 위한 ..

https://play.kotlinlang.org/#eyJ2ZXJzaW9uIjoiMS44LjAiLCJwbGF0Zm9ybSI6ImphdmEiLCJhcmdzIjoiIiwibm9uZU1hcmtlcnMiOnRydWUsInRoZW1lIjoiaWRlYSIsImNvZGUiOiIvKipcbiAqIFlvdSBjYW4gZWRpdCwgcnVuLCBhbmQgc2hhcmUgdGhpcyBjb2RlLlxuICogcGxheS5rb3RsaW5sYW5nLm9yZ1xuICovXG5mdW4gbWFpbigpIHtcbiAgICBwcmludGxuKFwiSGVsbG8sIHdvcmxkISEhXCIpXG59In0= Kotlin Playground: Edit, Run, Share Kotlin Code Online play.kotlinlang.org 여..

플로이드 워셜 알고리즘의 특징: 모든 지점에서 다른 모든 지점까지의 최단 경로를 구할 수 있음. 플로이드 워셜 알고리즘은 다이나믹 프로그래밍 방식으로 진행됨. 다익스트라 최단 경로 알고리즘은 한지점이 고정이였고, 그 지점으로부터 다른 모든 지점까지의 최단경로를 구하는 알고리즘이였음. 다익스트라 알고리즘은 단계마다 현재까지 최단 거리를 갖는 노드를 하나씩 반복적으로 선택했었다. 그리고 이 노드를 거쳐서 다른 노드로 가는 거리를 구해서, 최단 거리 테이블을 갱신하고 우선순위 큐에 해당 간선들을 추가해서 넣었음. 플로이드 워셜 알고리즘은 매우 단순하다. 매번 방문하지 않은 노드들 중 한가지를 골라서 그 노드를 거쳐가는 최단 경로와 지금까지 구한 최단 경로를 비교해서 테이블을 갱신시킴. Dab가 a에서 b로 가..