하루에 0.01%라도 성장하자
반응형

코틀린 7

Kotlin 을 이용한 동적 setBackgroundColor

이번에 별로 어렵지도 않은 걸로 혼자 삽질한 케이스가 발생해서 기록 차원에서 남겨두려고 한다. ( 이러지 말자 ㅠㅠ ) 기본적인 앱 구조는 healder를 공통으로 만들어 놓고 이 header를 각 레이아웃에 include 해서 사용하려고 한다. 이때 include하는 activity 별로 header의 backgroundColor 값을 변경해줘야 하는 상황이었다. ( 어렵지 않은데 ?) 평소처럼 진행하였다. 대충 바인딩 하는 코드 .... binding.headerLayout.setBackgroundColor(ContextCompat.getColor(this, R.color.white)) 그런데 변경이 안되는것이다!! 아무리 해도 변경이 안돼... 바인딩이 잘못되었나 해서 findViewById로도 별..

Develop/Android 2022.07.06

Android - Data Binding

Kotlin 을 이용한 Data Binding을 위한 셋팅 데이터 바인딩은 넓은 호환성을 위해 Android 2.1 이상(API level 7)에서 사용할 수 있도록 되어 있음. ( 엄청난 호환성.. ) 1. 세팅 plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } .... dataBinding{ enabled = true } Module level의 Gradle에 위와 같은 설정을 해준다. MainActivity에 버튼을 하나 만들어서 로그를 출력하는 형태로 개발 activity_main.xml 의 경우 기본 설정되는 layout을 감싸는 형태로 layout을 써줘야 한다. 말이 이상한데 아래 코드를 보고 확인 위 ..

Develop/Android 2021.04.08

Kotlin ) 웹 뷰를 이용한 사이트 이동, 검색앱 만들기.

간단한 어플이다. WebView를 이용해서 검색앱을 만드는 것이다. 다만, 나는 코틀린으로 했다는 것에? 살짝 의미를 둔다. 그리고 코틀린으로 해보니... 너무 코드가 간결해지고 쉬워졌다. 개발된 기능 앱을 켰을때 WebView를 이용해서 메인 사이트를 보여준다. 옵션 메뉴를 이용한 저장된 사이트 이동. 암시적 인텐트를 이용한 전화, 문자, 이메일 메뉴 만들기 일부 소스코드 [ 웹뷰 소스코드 ] webView.apply { settings.javaScriptEnabled = true // 자바스크립트가 잘 동작하도록 설정 webViewClient = WebViewClient() // 웹뷰에서 페이지가 뜨도록, 설정 안해주면 기본 브라우저가 실행됨. } webView.loadUrl("www.naver.co..

Develop/Android 2019.07.03

Kotlin ) 코틀린 기초 Part#4 - 인터페이스 ( interface )

인터페이스 추상 메서드를 포함할 수 있으며 abstract 키워드를 생략할 수 있다. 선언 interface Runnable{ fun func() } // 이미 구현된 메소드를 포함할 수 있다. interface Runnable{ fun run() fun ruuuuuuuuun() = println("가즈아ㅏㅏㅏ"); } 구현 override 키워드를 메소드 앞에 추가한다. class Person : Runnable { override run(){ println("나는 달리고 있습니드아ㅏㅏㅏㅏ"); } } 상속과 인터페이스 상속과 인터페이스를 함께 구현할 수 있다. 상속은 한번에 하나밖에 안되지만 인터페이스는 콤마(,)를 이용해 동시에 구현이 가능하다. open class Person{ // 상속 가능한 ..

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#3 - 클래스 ( CLASS )

클래스 ( class ) 선언 // 클래스 선언 class SampleClass{ } // 인스턴스 생성 val sampleClass = SampleClass(); // new 키워드가 없음. 생성자 class Student(var name : String){ // 빈 생성자 } class Student{ constructor(name : String){ // constructor를 이용해서 생성자 코드 작성 println(name) } } class Student(name : String){ init{ // init을 이용해서도 가능함. 클래스를 인스턴스화할 때 가장 먼저 실행되는 코드. println(name) } } 프로퍼티 클래스의 속성을 사용할 때는 멤버에 직접 접근하고 이를 프로퍼티라고 한다...

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#2 - 배열 ( Array ), 제어문 ( if, for, when )

배열 생성 val arr : Array = arrayOf(1,2,3,4,5); val arr2 = arrayOf(1,2,3,4,5); // Int 생략 arr[0] = 10; // (10,2,3,4,5); if if를 식처럼 쓸 수 있다. val number = if(a > b ) a else b when swtich 문처럼 사용하는 경우 val x = 1 when(x){ 1 -> println("x == 1") // 값 하나 2, 3 -> println("x == 2 or x == 3") // 여러 값이 콤마로 in 4..7 -> println("4~7") // in 연산자로 범위 지정 !in 8..10 -> println("8~10이 아닌경우 ) else ->{ println("x는 1이나 2가 아님..

Develop/Android 2019.06.12

Kotlin ) 코틀린 기초 Part#1 - 변수, 상수, 자료형

코틀린을 배우면서 가장 기초적인 부분을 정리한다. 변수, 상수 변수 var로 선언 var a : Int = 10; var a = 10 둘다 가능 자료형을 선언하지 않아도 형추론을 지원하기 때문에 괜찮음 상수 val로 선언 val b : Int = 20; 상수이기 때문에 초기화 후 변경 못함. java의 final과 같음 함수 선언 func printTest(str : String) : Unit{ print(str); } printTest("TEST"); Unit java 의 void와 같음. 반환값이 없는 경우 생략 가능 func printTest(str : String) { print(str); } printTest("TEST"); 자료형 숫자 var a = 10; // Int var a = 10L; ..

Develop/Android 2019.06.11
반응형