Android 앱 34

kotlin 코틀린 - 반복문

증감연산자 증가연산자 ++ 변수의 앞이나 뒤에 ++ 을 붙여서 사용하는 연산자입니다. ++ 이 변수 앞에 붙으면 전치 증가연산자, 변수의 뒤에 붙으면 후치 증가연산자 입니다. 정수형 변수의 경우 값을 1 증가시켜주는 역활을 합니다. var number = 10 ++number number = number + 1 number++ 결과적으로 보면 위 3가지는 동일한 결과 입니다. 그러면 왜 전치와 후치 증가 연산자로 구분이 될까요? 그 차이는 아래 코드를 보면서 설명 하도록 하겠습니다. fun main() { var numberPre = 10 var numberPost = 10 println(++numberPre) println(numberPost++) println(numberPre) println(num..

kotlin 코틀린 - 조건문 비교연산자

if 조건문 fun main() { var number = 5 if(number > 10) { println("10 보다 크다") } else { println("10 보다 작다") } } if ( 조건 ) { // 저건이 true 일 경우 실행할 구문 영역 } else { // 조건이 false 일 경우 실행할 구문 영역 } 실행할 구문이 여러개가 될 수도 있기 때문에 각각의 영역을 구분하여 실행하기 위해, 중괄호( {} ) 를 사용하여 실행할 영역을 구분합니다. 함수의 영역표시에 사용되는 중괄호와 동일한 특성을 지닙니다. 여기에서 true 일 경우에만 실행할 내용이 있고 조건이 false 일 경우 수행할 내용이 없다면, esle 구문은 생략 가능 하빈다. fun main() { var number =..

kotlin 코틀린 - 함수 function

함수 function 함수는 특정한 동작을 하거나 원하는 결과값을 연산하는데 사용하는 기능입니다. 지금까지 작업하는데 사용했던 main() 도 함수 이고, println() 또한 함수 입니다. 간단한 곱셈함수(mul) 를 만들어 보겠습니다. 함수를 선언하기 위해서는 변수를 선언할때 사용한 var, val 처럼 함수(function) 을 의미하는 키워드 fun 을 사용해야 합니다. fun mul(numA:Int, numB:Int): Int { return numA * numB } fun main() { println(mul(3, 5)) } 결과를 한번 확인해 보도록 하겠습니다. main에서 호출도 잘 되네요 함수를 만들어 봤으니 이제 함수를 선언할때 사용한 코드를 한번 자세히 보도록 하겠습니다. fun 키..

kotlin 코틀린 - 변수와 자료형

변수와 자료형 이번 장에서는 프로그래밍의 기본인 변수와 자료형에 대해 알아보도록 하겠습니다. 변수는 말 그대로 변하는 수 입니다. 특정한 형식을 가진 값을 저장하는 공간을 의미 합니다. 변수의 이름은 이공간을 지칭하는 것 입니다. 자료형은 변수의 모양을 나타내느 말입니다. 변수가 특정한 형식(자료형) 으로 공간을 가지는 것 입니다. 변수의 선언 var(mutable:가변) -일반적으로 통용되는 변수 - 언제든지 읽기 쓰기가 가능 val(immutalble : 불변) - 선언시에만 초기화 가능 - 중간에 값을 변경할 수 없다 보통은 var 형태의 변수를 많이 사용하고 val 은 실행중에 변화되어서는 안되는 값을 저장할때 많이 사용 합니다. 선언위치에 따라서 클래스에 선언된 변수는 property (속성)이..

kotlin 첫프로젝트 - IntelliJ IDEA 프로젝트 만들기

이번에는 IntelliJ IDEA 에서 첫 프로젝트를 만들어 보도록 하겠습니다. 프로젝트만 만들면 머 절반이죠 .....; Create New Project 를 선택합니다. JVM 기반의 Kotlin 을 선택 합니다. 가장 기본이라 생각 하시면 됩니다. 선택 하시고 Next 로 다음 단계로 넘어 가도록 합니다. Project Location 은 적당히 선택 하시면 됩니다. 프로젝트 이름도 마음에 안드신다면 변경 하셔두 됩니다. 적당히 선택 하셨으면 Finish 로 완료! 프로젝트를 생성했으니 이제 Hello World 를 작성 해 보도록 합니다. 우선 프로그램의 EntryPoint 인 Main 을 작성하기 위해 kotlin 파일을 추가 하도록 합니다. app.kt 를 추가 했지만 원하시는 다른 이름으로 ..

Kotlin 개발환경 - IntelliJ IDEA 설치

오늘은 Kotlin 용 개발툴 IntelliJ IDEA 를 설치해 보겠습니다. IntelliJ IDEA 는 kotlin 이외에 java, Gloovy, Scala 등 다른 언어등을 개발 할 수 있는 통합 개발도구 입니다. https://www.jetbrains.com/ko-kr/idea/download/#section=windows Download IntelliJ IDEA: The Java IDE for Professional Developers by JetBrains Download the latest version of IntelliJ IDEA for Windows, macOS or Linux. www.jetbrains.com 우선은 kotlin 을 이제 시작 하는거라 Community 버젼으로 설치..

anko library 적용

about anko anko 라이브러리는 Android Studio 제작사인 JetBrains 에서 만든 라이브러리 이며 Android 개발을 좀더 쉽고 빠르게 개발할수 있는 라이브러리 집합입니다. 라이브러리 작성은 Kotlin으로 되어 있습니다. 안드로이드 레이아웃을 XML을 통하지 않고 쉽게 만들 수 있게 도와주는 DSL(Domain-Specific Language) 입니다. Android에서는 View를 디자인 할때 XML Layout을 통해서 표현해야 하는데, XML 을 사용하게 되면 Java코드로 변환하는 작업을 하게 되면서 CPU나 배터리 소모를 하고 코드의 재활용이 불편하다는 단점이 있습니다. anko 라이브러리를 통해 간단한 코드로 xml 을 대신하여 layout 을 작성 할 수 있습니다...

15. Constraint Layout (콘스트래인트 레이아웃) 4- Android Studio (안드로이드)

이번에는 각 view 에 클릭 이벤트로 색을 바꿔 보도록 하겠습니다. styles.xml 에서 이전에 만든 style "WhiteBox" 의 background 를 white 로 변경 해 줍니다. 백그라운드 색상을 흰색으로 변경하면 박스들이 약간의 흔적만 남기고 아무것도 보이지 않네요 constraint layout 의 background 의 색상이 완전한 white 라 색상차이가 있는것 같습니다. 자 이제 오랜만에 MainActivity.kt 에서 작업을 해 보도록 하죠 각 뷰에 클릭 이벤트 리스너 (setOnClickListener) 를 생성 해 주도록 합니다. 뷰가 여러개 이번트 리스너 등록하는 함수를 만들어서 onCreate 에서 호출 하게 해 주도록 했습니다. 코드를 간단히 설명하면 setLis..

14. Constraint Layout (콘스트래인트 레이아웃) 3 (chain) - Android Studio (안드로이드)

다른 view 들을 추가하기 전에 chain 에 대해 잠깐 언급하고 넘어가도록 하겠습니다. 두개의 뷰 A, B가 있을때, A와 B가 "서로" 연결되어 있을 경우 이것을 체인 관계 상태라고 합니다. 여러 개의 뷰를 연결할 수도 있으며, 체인상태의 뷰는 하나의 헤드(HEAD)를 가지게 되는데 Vertical방향으로 연결할 경우 연결된 뷰의 최상단에 위치한 뷰, Horizontal 방향으로 연결할 경우 가장 왼쪽에 있는 뷰가 헤드가 됩니다. 두 버튼을 chain 연결 했을때 xml 에서는 자동으로 두 버튼에 대해 제약이 생기게 됩니다. Spread Chain : 모든 요소들이 동일한 간격으로 나눠서 배치 됩니다. Spread Inside Chain : 모든 요소들이 양끝을 기준으로 배치되고 동일한 간격으로 분..

13. Constraint Layout (콘스트래인트 레이아웃) 2 - Android Studio (안드로이드)

이제 box two를 추가할 차례입니다 일정한 간격유지를 어떻게 설정하는지 보도록 하겠습니다 textView 를 하나 끌어다 ConstraintLayout 에 추가 하시면 됩니다. 추가한 textView 에 ID 를 box_two_text 로 지정 합니다. layout_width , layout_height 모두 130dp 로 사이즈 정해 주시고, style 에 WhiteBox 를 설정 해 주도록 합니다. 사이즈가 항상 유연하게 바뀌는 것도 좋지만 box tow처럼 항산 고정된 사이즈 일때도 필요합니다. 반응형도 중요하지만 의도치 않는 확대나 축소로 인한 깨짐도 발생할 수 있으니 상황에 잘 맞춰서 사용하셔야 합니다 앞으로 추가할 view 들까지 모두 strings.xml 에 추가 하도록 합니다. Colo..