반응형

anko 라이브러리 설치방법

Anko는 안드로이드 개발을 빠르고 쉽게 만들어줄 라이브러리이다. Anko는 코드를 깔끔하고 쉽게 읽을 수 있게 하며, 우리를 힘들게 하던 Java Android SDK를 잊게 만들어 줄것 이라고 설명 되어 있다.

anko git hub : github.com/Kotlin/anko

 

Kotlin/anko

Pleasant Android application development. Contribute to Kotlin/anko development by creating an account on GitHub.

github.com

 

문서가 영어로 되어 있어서 설치하는 방법을 알아먹기 힘들었다.

영어 까막눈은 개발에 있어 지대한 불편함을 겪어야 한다ㅠㅠ

실패한 한국의 공교육 영어만 배워온 나에게 너무 어려운 과정이다............

차라리 스피킹이 나을정도로 문법과 해석에는 쥐약이지만 다른 블로그들 까지 뒤적거려 가며 방법을 찾았다.

생각보다 설정에 대한 문구만 기입해주면 되어서 어렵지 않다.

 

1. app build.gradle에서 

implementation "org.jetbrains.anko:anko:$anko_version"

해당 문구를 dependencies에 기입한다.

구 버전과 달라 해당 파일을 찾기 힘들 때가 있다.

 

2. Project레벨의 build.gradle에

ext.anko_version='0.10.8'

을 기입한다.

=의 뒤에 있는 버젼은 최신버전으로 바꾸어 기입하여도 ok

buildscript 하위에 넣어주면 된다

 

그러면 오른쪽 상단에 'Sync now'가 표시되고, 클릭하면 이내 다운로드가 시작된다.

 

끝!

반응형

'kotlin' 카테고리의 다른 글

[Kotlin] 기본 타입 정리  (0) 2019.08.11
[Kotlin] 기본 문법 정리  (0) 2019.08.08
반응형

Kotlin 기본 타입 정리

https://www.inflearn.com/course/%EC%BD%94%ED%8B%80%EB%A6%B0-%EA%B0%95%EC%A2%8C-%EC%83%88%EC%B0%A8%EC%9B%90/lecture/7229

위 inflearn 사이트의 강의 중

새차원, 코틀린(Kotlin)강좌를 기반으로 작성하였습니다.


 

1. 기본 타입

- 코틀린에서 모든 것은 객체임

- 모든 것에 멤버 함수나 프로퍼티를 호출 가능하다는 의미

 

2. 숫자

- Java의 숫자형과 거의 비슷하게 처리

- Kotlin에서 숫자는 클래스. Java의 primitive type에 직접 접근 할 수 없음

- Java에서 숫자형이던 char가 kotlin에서는 숫자 형이 아님

 

3. 리터럴 (Literal)

- 10진수 : 123 (Int, Short)

- Long : 123L

- Double : 123.5, 123.5e10

- Float : 123.5f

- 2진수 : 0b00001011

- 8진수 : 미지원 ( Java : int I = 017; )

- 16진수 : 0X0F

 

4. Underscore in numeric literals (since 1.1)

- 긴 숫자를 표기할 때 유용

 

5. Representaion

- Java플랫폼에서 숫자형은 JVM primitive type으로 저장됨

- Nullable이나 제네릭의 경우에는 박싱됨

- 박싱된 경우 idendtity를 유지 하지 않음

 

6. Explicit Conversions

- 작은 타입은 큰 타입의 하위 타입이 아님, 즉 작은 타입에서 큰 타입으로의 대입이 안됨

- 명시적으로 변환을 해주어야함

 

toByte(): Byte

toShort(): Short

toInt(): Int

toLong(): Long

toFloat(): Float

toDouble(): Double

toChar(): Char

 

7. 문자 (Characters)

- Char는 숫자로 취급 되지 않음

 

8. 배열

- 배열은 Array 클래스로 표현됨

- get, set([] 연산자 오버로딩됨)

- size 등 유용한 맴버 함수 포함

 

9. 배열 생성

- Array의 팩토리 함수를 이용

- arrayOf() 등의 라이브러리 함수 이용

 

10. 특별한 Array 클래스

- primitive 타입의 박싱 오버헤드를 없애기 위한 배열

- IntArray, ShartArray, IntArray

- Array를 상속한 클래스같아 보이지만 아님. Array와 같은 메소드와 프로퍼티를 가짐

- size 등 유용한 맴버 함수 포함

 

11. 문자열

- 문자열은  String 클래스로 표현

- String은 characters로 구성됨

- s[i]와 같은 방식으로 접근 가능 (immutabled이므로 변경 불가)

 

12. 문자열 리터럴

- escaped string("Kotlin")

> 전통적인 방식으로 Java String과 거의 비슷

> Backslash를 사용하여 escaping 처리

- raw string ("""Kotiln""")

> escaping 처리 필요 없음

> 개행 이나 어떠한 문자 포함가능

반응형

'kotlin' 카테고리의 다른 글

[kotlin] anko 라이브러리 설치방법  (0) 2020.08.31
[Kotlin] 기본 문법 정리  (0) 2019.08.08
반응형

 

Kotlin 기본 문법 정리

https://www.inflearn.com/course/%EC%BD%94%ED%8B%80%EB%A6%B0-%EA%B0%95%EC%A2%8C-%EC%83%88%EC%B0%A8%EC%9B%90/lecture/7229

위 inflearn 사이트의 강의 중

새차원, 코틀린(Kotlin)강좌를 기반으로 작성하였습니다.


 

1. 패키지 정의

- 패키지 정의는 파일의 최상단에 위치

- 디렉터리와 패키지를 일치시키지 않아도 됨

*import는 자바와 유사함

 

2. 함수 정의

- 함수는 fun 키워드로 정의

- 함수 몸체가 식(Expression)인 경우 return 생략가능

- 이런 경우 return type이 추론됨

- 리턴 할 값이 없는 경우 Unit(Object / 자바에서 void라고 생각하면됨)으로 리턴 함

- Unit은 생략가능

 

3. 지역 변수 정의

- val: 읽기전용 변수

- 값의 할당이 1회만 가능 Java의 final과 유사

*내 생각*

final 변수는 값을 한 번만 할당할 수 있다.

때문에 예시 중, 첫번째는 a라는 변수에 Int라는 자료형을 지정하고

곧 바로 1이라는 값을 할당하여 정상적으로 a에 1이 할당 되었다.

또한, 이제 a에게 다른 값을 지정해주어도 할당이 되지 않는다.

ex)

위와 같이 다른 값을 주었을때, 빨간줄이 뜨면서

'Val cannot be reassigned' 이라는 오류가 뜬다.

정확하지는 않지만, 'Val은 재접근(?)될 수 없다.'는 의미 같다.

두번째 예제는 첫번째와 같은 것인데 Kotlin 이친구가 똑똑하여

자동으로 자료형을 추론 할당해준다는 것 같다.

여기서 가장 문제가 세번째인데,

이 세번째 예제가 이해를 하고자 하면 기본적인 프로그래밍 지식이 필요할 듯 하다.

일단, 위의 구문을 보면 Val로 c라는 변수가 자바에서 final과 같은 것임을 선언했다.

그리고 c의 자료형은 Int라는 것도 동시에 선호하였는데,

문제는 c에 어떤 값을 넣어줄지를 정해주지 않았다.

이 때 print()로 c의 내용을 출력해주려 하면 에러가 발생한다.

**initialized : [타동사][VN] (컴퓨터) 초기 내용을 설정하다

출저 : https://endic.naver.com/enkrEntry.nhn?sLn=kr&entryId=6cca7c6116f04f0fb63679142fcc8c6e

 

initialize : 네이버 영어사전

초기 내용을 설정하다

endic.naver.com

 

변수 c는 반드시 초기화가 되어야 한다는 내용인것 같다.

그런데 웃긴게 밑에서 c = 3이라고 값을 넣어주는데,

거기에도 에러가 발생한다.

여기서 ???왜 초기화 해주는데 뭐임뭐임??? 하고 생각할 수도 있다.

적어도 나는 그렇게 생각했는데,

자바에서 final은 한 번 초기화되면 변하지 않는다.

즉, 해당 라인(선언되는 라인)을 벗어나서는 값을 줄 수가 없다.

그래서 c도 마찬가지로 선언과 초기화를 동시에 해주지 않으면 안되는 듯 하다.

*내 생각 끝*

 

- var : Mutable 변수

 

4. 주석

- Java와 Javascript와 동일함

- // 한 줄 주석

- /* */ 여러 줄 주석

- 여러 줄 주석이 Java와 달리 중첩 허용됨

 

5. 문자열 템플릿

- Srting Interpolation(문자열 보관법)

 

*내 생각*

이 기능 솔직히 대박적인것 같다.

엄청 간결하고 큰 따옴표를 남발하지 않아도 되서 편리한 것 같다.

*내 생각 끝*

 

6. 조건문

- 조건식으로도 사용가능

 

7. nullable

- 값이 null일 수 있는 경우 타입에 nullable 마크를 명시 해야 함

- nullable 타입의 변수를 접근 할 때는 반드시 null 체크를 해야함

- 그렇지 않을 경우 컴파일 오류 발생

 

8. 자동 타입 변환

- 타입 체크만 해도 자동으로 타입 변환이 됨

*Any : 최상위 자료형? 객채?

 

9. while 문

- Java와 거의 같다

 

10. when

*자바의 switch ~ case 문과 유사하지만 더욱 강력함*

 

11. ranges

- In 연산자를 이용해서 숫자 범위를 체크 가능

- range를 이용한 for loop

*내 생각*

바로 위의 for문은 무한 반복문이다.

n은 영원히 3이기 때문..

*내 생각 끝*

 

12. collections

- 컬렉션도 in으로 loop 가능

 

- in으로 해당 값이 collection에 포함되는지 체크 가능

 

! 여기서 잠깐 !

**보충 필요**

강의에서 설명이 없어서 직접 찾아본 setOf와 listOf의 차이점

- setOf : 주어진 인자값을 읽기전용으로set하여 return 해준다

- listOf : 주어진 인자값을 읽기전용 list로 return 해준다

참조 : https://kotlinlang.org/

 

Kotlin Programming Language

 

kotlinlang.org

 

13. Collections

- 람다식을 이용해서 컬렉션에 filter, map 등의 연산 가능

 

*이 부분은 람다식과 각 연산에 대해 추가설명을 조사하여 업로드 예정*

 

~ 첫 수강 후 느낀점 ~

1. 재미있다. 난 모바일 코딩이 젤 잼나는 것같다.

2. 솔직히 설명이 너무 빈약하다.

프로그래밍 모르는 사람이 들으면 진심 1도 이해 못 할듯.

3. kotlin 뭔데 이렇게 획기적인가? 파이썬도 수박 겉핡기만 해봤지만,

개인적으로는 kotlin이 호감이다. 이유는 X

반응형

'kotlin' 카테고리의 다른 글

[kotlin] anko 라이브러리 설치방법  (0) 2020.08.31
[Kotlin] 기본 타입 정리  (0) 2019.08.11

+ Recent posts