일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Android
- androidstudio
- bitmap
- BOJ
- Canvas
- CS
- Database
- DBeaver
- DP
- Ecilpse
- Eclipse
- firebase
- git
- github
- GooglePlayServices
- gradle
- IDE
- IntelliJ
- java
- json
- kotlin
- level2
- linux
- mariadb
- MYSQL
- Paint
- permission
- python
- Sorting
- sourcetree
목록kotlin (12)
will come true
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bpPPSO/btsgk1b80dw/ESNHQJybHNdKHMIbg1y6k1/img.png)
변수 var (variable) : 초깃값이 할당된 후에도 값을 바꿀 수 있는 변수 val (value) : 초깃값이 할당되면 바꿀 수 없는 변수 (val을 쓸 수 있는 상황에서는 되도록 val을 많이 사용하길 권장) var 변수명:타입 = 값 변수명 뒤에 콜론(:)을 추가해 타입을 명시할 수 있는데, 대입하는 값에 따라 타입을(타입 추론)할 수 있을 때는 생략할 수 있다. 다만 메서드를 호출해서 반환값을 대입하는 경우에는 되도록 참조변수에 반환 타입을 지정해주는 게 좋다. 동료 개발자들이 이 변수가 무슨 타입인지 직관적으로 확인할 수 있으니까. 초기화 최상위에 선언한 변수나 클래스의 멤버 변수는 선언과 동시에 초깃값을 할당해야 한다. 함수 내부에 선언한 지역 변수는 선언과 동시에 초깃값을 할당하지 않아..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/pTwTa/btsgl6qoPrd/qZShKCuv4y8FmbCQ0kALU0/img.png)
코틀린 코틀린은 결국 최종적으로는 자바 언어로 변환되어서 JVM에 의해 실행되지만, 코틀린에는 자바에서 지원하지 않는 기법을 제공한다. 그렇기 때문에 자바보다 간결하고 편하게, 좀 더 직관적으로 코드를 작성할 수 있다. 코틀린은 자바와 전혀 다른 언어가 아니며, 자바 코드를 편하게 쓰기 위한 확장 언어라고 생각하면 된다. 자바로 안드로이드 앱을 개발할 수 있다. 코틀린은 자바의 가상머신인 JVM에 기반을 둔 언어이다. 즉, 코틀린으로 작성한 프로그램은 JVM에서 실행할 수 있다. 개발자는 코틀린으로 코드를 작성해도, 코틀린 컴파일러(kotlinc)가 .kt 파일을 컴파일하면 자바 클래스가 만들어지고 이를 JVM이 실행한다. 코틀린은 안드로이드 앱 개발자가 많이 사용하지만 iOS앱, 서버쪽 애플리케이션도 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/u9liM/btrBbbY7q6a/kCvbW2vX1LWq7sHMcYgYCK/img.png)
퍼미션(Permission) 안드로이드 앱의 특정 기능에 부여하는 접근 권한 (ex: 카메라 촬영 퍼미션, 전화 발신 퍼미션 등) 내가 개발하는 앱이 다른 앱이나 안드로이드 시스템에서 보호하는 특정 기능을 이용할 때 퍼미션 사용을 설정해야 한다. (다른 앱의 보호된 기능을 사용할 때) 또는 내가 만든 앱 기능을 다른 앱에서 사용할 수 있도록 보호하고 권한을 얻은 앱에서만 허용하고 싶을 때 퍼미션을 설정한다. (내 앱의 기능을 다른앱으로부터 보호할 때) 즉, 앱끼리 서로 연동하고 상호작용할 때 필요한 절차이다. 예를 들어, 카X카오톡과 같은 메신저 앱을 만들고 친구 프로필을 누르면 전화번호가 표시되면 내가 만든 앱에서도 [전화걸기] 버튼만 누르면 바로 친구에게 전화가 걸리게 하고 싶다면 안드로이드 시스템으..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bNzuU4/btrrQsjLDpS/rSy9TT5S53tweym1skXUZ0/img.gif)
안드로이드 기본 앱 중 하나인 주소록(Contacts) 앱에서 사용자 이름(DISPLAY_NAME), 전화번호(NUMBER) 정보를 가져와 메인 액티비티에 TextView로 표시할 것이다. Content Provider ContactsContracts Uri Cursor Activity Result API : ActivityResultLauncher, registerForActivityResult() 실습 1. 주소록(Contacts) 앱에 테스트용 연락처 추가 2. [AndroidManifest.xml] 매니페스트 파일에 주소록 읽기(READ_CONTACTS) 퍼미션 사용 설정 3. [MainActivity.kt] 파일에 퍼미션 허용 확인 코드 작성 ★ API 레벨 23 이전에는 매니페스트 파일에 으로..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/B7XT9/btrrPnVMrSS/7N7xJ8LDkZG1V8xKDjNZAK/img.gif)
한 앱에서 MainActivity와 DetailActivity 두 개의 액티비티가 존재한다고 가정했을 때, MainActivity에서 DetailActivity를 실행하며 데이터A를 넘기고, DetailActivity는 자기자신을 종료하면서 자신을 호출했던 MainActivity에 데이터 B를 넘기는 걸 Activity Result API를 사용해서 구현해 볼 것이다. *Activity : 안드로이드 4대 컴포넌트 중 앱에서 화면을 구성하는 컴포넌트. (1액티비티=1화면) 1. 액티비티 컴포넌트 생성 [File] > [Activity] > [Empty Activity] MainActivity는 모듈 생성시 자동으로 하나 만들어지기 때문에, DetailActivity만 추가하면 된다. 1액티비티는 1화면이..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/JkEsj/btrrq0eUaQp/lJ33SY9RQREVaPHf94iKO0/img.png)
안드로이드 4대 컴포넌트 액티비티(Activity) 브로드캐스트 리시버(Broadcast Receiver) 서비스(Service) 콘텐츠 프로바이더(Content Provider) 서비스(Service) 오래 걸리는 작업을 백그라운드에서 처리할 수 있게 해주는 컴포넌트. 서비스에 화면을 구현하지 않는다. 시스템에서 생명주기를 관리한다. 안드로이드 8버전 부터 백그라운드 작업에 제약이 생김. 서비스 생성, 실행 순서 1. [MyService.kt] Service 클래스를 상속받아서 서비스 컴포넌트 작성 package com.example.프로젝트명 import android.app.Service import android.content.Intent import android.os.IBinder class ..