본문 바로가기
반응형

Kotlin30

[Kotlin] class static 변수 사용하기 companion object Java 에서는 public static final .... 로 썼던게 kotlin 에서는 어떻게 사용쓰일지 JAVA // 선언 public class MainActivity { public static final int bonus = 100; } // 사용 MainActivity.bonus Kotlin // 선언 class MainActivity : AppCompatActivity() { companion object { const val bonus: Int = 100 } } // 사용 MainActivity.bonus 2023. 7. 24.
[Kotlin] findViewById 대신에 View binding View Binding findViewById 대신에 XML 레이아웃 파일에 있는 ID를 직접 참조할 수 있습니다. 참고: 뷰 결합은 Android Studio 3.6 Canary 11 이상에서 사용할 수 있습니다. 1. build.gradle 에 viewBinding 설정 build.gradle (Module: YourApp.app) 의 파일을 열어서 android { } 부분에 아래 코드를 추가합니다. android { ...생략... viewBinding { enabled = true } } layout 파일의 내용이 다음과 같고, 이름은 activity_main.xml 이라고 했을 때 layout 파일명에 따라서 결합 클래스 이름이 결정됩니다. 지금은 activity_main.xml 이라서 Ac.. 2023. 7. 22.
[Kotlin] 코틀린 기본 문법 5 (배열 응용) 배열 정렬 listOf() / mutableListOf() val list = listOf(1, 5, 4, 6, 3, 2) val sorted = list.sorted().reversed() println("sorted : $sorted") // sorted : [6, 5, 4, 3, 2, 1] val list2 = mutableListOf(1, 5, 4, 6, 3, 2) list2.sort() list2.reverse() println("sorted : $list2") // sorted : [6, 5, 4, 3, 2, 1] sortedWith val list = listOf("kevin", "steve", "john", "mark", "jadon") val alphabetOrder = list.sort.. 2023. 7. 20.
[Kotlin] 코틀린 기본 문법 4 (조건문, 반복문) 조건문 val number = 10 if (number > 0) { println("양수입니다.") } else if (number { // 값1에 대한 처리 } 값2 -> { // 값2에 대한 처리 } else -> { // 모든 조건에 해당하지 않을 때 처리 } } 예제 val day = "월" when (day) { "월", "화", "수", "목", "금" -> pri.. 2023. 7. 20.
[Kotlin] 코틀린 기본 문법 3 (함수) 함수 정의 (Function Definition): Kotlin에서 함수를 정의할 때는 fun 키워드를 사용 fun greet() { println("Hello, Kotlin!") } 매개변수 (Parameters): fun greet(name: String) { println("Hello, $name!") } 함수의 반환 자료형 표기 (Function Return Type Annotation): Kotlin에서 함수의 반환 자료형을 표기하기 위해서는 함수 정의 시 콜론(:) 다음에 반환 자료형을 명시합니다. fun multiply(a: Int, b: Int): Int { return a * b } 함수의 반환 자료형을 추론할 수 있는 경우에는 반환 자료형을 생략할 수도 있습니다. Kotlin 컴파일러는.. 2023. 7. 20.
[Kotlin] 코틀린 기본 문법 2 (배열의 모든 것) 개발하면서 배열은 정말 많이 사용됩니다. 코틀린에서 배열 사용 방법에 대해서 작성 해보겠습니다. 배열 선언과 초기화 Kotlin에서 배열을 선언하고 초기화하는 방법은 다음과 같습니다: // 배열 선언 val numbers: Array // 배열 초기화 numbers = arrayOf(1, 2, 3, 4, 5) numbers[0] = 10 // [10, 2, 3, 4, 5] // List val list: List = listOf(0, 1, 2) print(list) // [0, 1, 2] list[0] = 10 // 오류 발생 ! list.set(0, 10) // 오류 발생 ! Array 는 값 변경 가능 List 는 immutable 이므로 위와 같이 값 변경이 안됨. mutableListOf 로 선언.. 2023. 7. 20.
[Android] Java 에서 Kotlin 으로 넘어가기 4. Fragment Kotlin Fragment 사용하기 우선 Activity 와 Fragment 의 차이는 lifecycle 을 봐도 알수가 있습니다. Activity LifeCycle Fragment 의 LifeCycle 요약하면, Activity 는 무거움. Fragment 가벼움. 기능에 따라 다르겠지만, 예를들어 5개의 Activity로 만든 앱 보다는 1개의 Activity 와 5개의 Fragment로 만든 앱이 더 가볍고 (화면전환이) 빠릅니다. Fragment 만들기 fragment package를 만들어서 fragment 를 관리합니다. (프로젝트가 크다면, fragment 들을 기능별로 나누는게 좋습니다) 그리고 Empty Fragment 생성. 기본적으로 생성되는 코드는 아래와 같습니다. 파라메터 받는 .. 2022. 2. 27.
[Android] Java 에서 Kotlin 으로 넘어가기 3. Intent (Splash, Activity 이동) Kotlin StartActivity 앱의 시작은 Splash 화면이죠. ㅎㅎ; 이건 사람마다 호불호가 갈립니다. "splash 화면에서 불필요한 시간을 낭비한다" "회사의 로고 같은 광고 효과도 있다" "최초 리소스를 로드하는데 보여주는 것이다" 등등.. 전, 2~3초 정도로 앱의 로고든, 이미지든 광고효과가 좋다고 생각해서 주로 splash 화면을 만드는 편입니다. kotlin 에서 new > Activity > FullScreenActivity 로 해봤는데, 뭔가 잡다한게 많이 뜨더군요. 그냥 new > Activity > EmptyActivity 로 생성합니다. Launcher Activity 에 체크해주세요. 전 이름을 SplashActivity 로 했습니다. layout 과 소스 파일이 생깁니.. 2022. 2. 23.
[Android] Java 에서 Kotlin 으로 넘어가기 2. OnClick Android 를 Java 로만 개발했었는데, Kotlin 으로 갈아타기 위해 이것저것 테스트 해보며 필요한것만 남기려고 포스팅합니다. 따라하기가 아닌, 한번 쓱~ 훑어보듯이 보면 좋을듯 합니다. 요약 android java 와 방법은 같음. 약간의 문법 차이가 있음 (당연한 소리를..) 1. button 에 setOnClickListener 사용하기 val testBtn: Button = findViewById(R.id.main_test_button) testBtn.setOnClickListener(View.OnClickListener { // testBtn.setText("Hello~ Bryan!") // 가능하지만, 아래 줄 처럼 권장 testBtn.text = "Hello~ Bryan!" }); .. 2022. 2. 23.
[Android] Java 에서 Kotlin 으로 넘어가기 1. findViewById Android 를 Java 로만 개발했었는데, Kotlin 으로 갈아타기 위해 이것저것 테스트 해보며 필요한것만 남기려고 포스팅합니다. 따라하기가 아닌, 한번 쓱~ 훑어보듯이 보면 좋을듯 합니다. 요약 Java TextView textView = findViewById(R.id.main_test_button); Kotrlin 1) val textView: TextView = findViewById(R.id.main_test_button) 2) val textView = findViewById(R.id.main_test_button) 3) ViewBinding 사용 ★ 컴포넌트 가져오기 이렇게 있다면, val testTv = findViewById(R.id.main_test_textview); 이렇게 하거.. 2022. 2. 23.
728x90
반응형