기타 24

앱 개발 프로젝트에서 배운 점(2) : Spinner 아이템 글자크기 및 폰트, 정렬 다루는 방법

Spinner 아이템 글자크기 및 폰트, 정렬 다루는 방법 스피너란, 이처럼 클릭을 했을 때 여러가지 목록을 뜨게 하는 기능이다. res - values - array.xml 을 만들어 그 안에 태그로 클릭했을 때 뜰 목록들을 지정할 수 있다. 그러고 kt 파일에서 이 array 이름을 호출해주면 된다. 스피너를 클릭했을 때 메소드 2개 오버라이딩 sound_spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener { override fun onItemSelected(p0: AdapterView?, p1: View?, p2: Int, p3: Long) { set_music = p2 } override fun onNothing..

기타/AOS, Kotlin 2023.08.14

앱 개발 프로젝트에서 배운 점(1) : 레이아웃, 프래그먼트, 뷰

레이아웃 LinearLayout과 FrameLayout의 차이점 LinearLayout android:orientation 속성을 통해 자식 뷰들을 수직 or 수평 방향으로 순차적으로 배치한다. android:weight 속성을 통해 상대적인 가중치로 공간을 동적으로 할당가능 주로 여러 개의 자식 뷰나 뷰 그룹을 나열할 때 사용됨 이번 프로젝트에서는 LinearLayout으로, 가이드라인에 의해 80%만큼 하나를 만들고, weightSum = 10으로 주어 0.5만큼 텍스트뷰를, 7만큼 프래그먼트를, 2.5만큼 또 다른 프래그먼트를 띄우게 했다. FrameLayout 자식 뷰들을 상위 좌표에 겹치기 배치한다. 즉, 여러 자식 뷰가 추가되면 그 뷰들은 이전 뷰의 위에 배치된다. 단일 뷰나 뷰 그룹을 전체 ..

기타/AOS, Kotlin 2023.08.14

[코틀린] 코틀린의 '람다'(Lamda) 살펴보기

이번 글을 적기에 앞서 살펴볼 내용은 다음과 같다. 1. 람다 (Lamda) 2. 데이터 클래스 3. Companion Object 4. Object Lamda (람다) 1. 람다 식은 마치 우리가 value처럼 다룰 수 있는 익명 함수이다. + 간결한 함수 표현 방식 2. 함수를 선언하지 않고도, 코드 내에서 함수를 정의하고 사용할 수 있게 해준다. 3. 메소드의 파라미터로 넘겨줄 수 있다. ex) fun maxBy(a:Int) => a : Int를 적은 파라미터 자리에 Fun을 넣을 수 있음. 4. return 값으로도 사용할 수 있다. 람다의 기본 형태 정의 val lamdaName : Type = {argumentList -> codeBody} val sum: (Int, Int) -> Int = ..

기타/AOS, Kotlin 2023.07.29

[코틀린] 자바와 비교하며 기초 문법의 모든 것

자바와 크게 다른점 1. 세미콜론(;)을 쓰지 않는다. 2. 변수 선언 및 함수의 머릿줄이 다르다. -> int a = 10; == var a : Int = 10 -> void swap() || int add()가 아닌, fun swap() : Unit {} || fun add() : Int {} 3. 타입 추론이 가능하다. var a = 10 가능 4. 조건식에 if뿐만이 아닌, when이 추가되었다는 점 5. Nullable, 자바의 NPE가 개선이 되었다는 점 .. 나머지는 코드를 보며 알아보도록 하자 Hello World fun helloworld() : Unit { println("Hello World") } 이렇게 fun을 쓰고 함수 명()를 함. 콜론을 붙이고 Unit을 쓰면, 리턴 값이 없..

기타/AOS, Kotlin 2023.07.29