728x90 분류 전체보기129 [Android] Navigation Drawer 안에서 ExpandableListView 사용하기 ExpandableListView란? ExpandableListView는 ListView의 한 종류로써, ListView는 단순히 리스트를 뿌려주는 역할을 하고, ExpandableListView는 말 그대로 확장 기능을 제공한다. 단순히 ListView처럼 array.xml을 생성하여 리소스 아이디를 직접 적용할 순 없고, HashMap을 만들어서 적용해야 한다. 이번 실습에선 Navigation Drawer 안에서 ExpandableListView를 사용해 부모와 자식 관계를 나타내 줄 것이다. 최종 결과물로 아래 사진처럼 나오게 된다. 코드 MainActivity.kt MainActivity에서는 ExpandableListView의 어댑터를 설정해야 한다. 어댑터에는 부모와 자식 관계를 나타내는 L.. 2020. 4. 11. [Android] 데이터 바인딩(Data Binding) 사용하기 데이터 바인딩이란? 앱의 데이터 소스와 레이아웃의 구성요소를 결합할 수 있게 해주는 Android JetPack의 라이브러리 중 하나이다. 기존에 데이터를 레이아웃에 그리거나 클릭 리스너를 연결시켜야 할 때 findViewById 메소드를 사용해서 뷰를 선언한 뒤, 클릭 리스너 인터페이스를 구현해야 했다. 물론 코틀린으로 넘어오면서 findViewById 메소드를 사용하지 않고도 할 수 있었지만, 클릭 리스너를 구현한다거나 값이 변경됐을 때 일일이 뷰를 찾아서 세팅해주는 번거로움이 있었다. 데이터 바인딩을 사용해서 데이터와 레이아웃을 결합해주면 이러한 번거로움을 해결할 수 있고, 좀 더 간결한 코드로 MVVM 패턴을 구현할 수 있다. 데이터 바인딩 사용하기 1. build.gradle 설정 데이터 바인딩.. 2020. 4. 7. [Kotlin] 코틀린 문법 정리 - 02 1. 클래스를 상속하는 객체 클래스 없이 object 표현식을 사용해 상속을 할 수 있다. 이때의 상속은 1회용이 된다. open class Person(val name: String, val age: Int) { open fun print() { println("이름:$name, 나이:$age") } } fun main(args: Array) { val custom: Person = object : Person("Alan", 23) { override fun print() { println("it's a object") } } custom.print() } 2. Any 클래스 모든 코틀린 클래스들은 Any 클래스를 상속한다. open class Any { open operator fun equals(o.. 2020. 4. 5. [Kotlin] 코틀린 문법 정리 - 01 1. 표현식 하나의 값으로 수렴하는 수식 뭉치. 자바에서는 표현식이 단독으로 오는 것을 허용하지 않기 때문에 아래와 같은 코드는 오류를 일으키지만, 코틀린은 그렇지 않다. fun Example() { 53 + 62 - 126 } 2. 변수 var : 일반 변수 val : 불변 변수, 자바의 final // 변수를 선언하고 그와 동시에 초기화 var total: Int = 0 val a: Int = 10 + 53 - 7 val b: Int = 32 + 45 - a total = a + b 3. 리터럴 변수의 값이 변하지 않는 데이터, 리터럴에 타입이 있기 때문에 표현식의 결과 값에도 자연스럽게 타입이 생기게 된다. 뒤의 10 + 12 - 5는 표현식의 결과가 Int 이므로 variable 뒤에 :int가 .. 2020. 4. 3. [Kotlin] 코틀린 표준 라이브러리 - 스트림 함수 자바 8에서는 컬렉션에 포함된 자료들을 손쉽게 다룰 수 있도록 스트림(stream) 기능을 제공한다. 코틀린에서는 스트림 대신 이와 유사한 역할을 하는 함수들을 표준 라이브러리에서 제공하며, 확장 함수 형태로 제공된다. 변환 1. map() - 컬렉션 내 인자를 다른 값 혹은 타입으로 변환할 때 사용한다. fun main(args: Array) { val cities = listOf("Seoul", "Tokyo", "London") // SEOUL, TOKYO, LONDON cities.map { city -> city.toUpperCase() } .forEach { println(it) } // 5, 5, 6 cities.map{city -> city.length} .forEach { println(i.. 2020. 3. 28. [Android] SharedPreferences 간단하게 사용하기 (Kotlin) 안드로이드 앱을 개발하면서 데이터를 저장하는 방법으로는 여러 가지가 있는데, 오늘은 그중 하나인 SharedPreferences를 사용하는 방법을 알아볼 것이다. SharedPreferences란? SharedPreferences는 간단한 값을 저장할 때 주로 사용한다. 초기 설정 값이나 자동 로그인 여부 등 간단한 값을 저장할 때 DB를 사용하면 복잡하기 때문에 SharedPreferences를 사용하면 적합하다. SharedPreferences는 어플리케이션에 파일 형태로 데이터를 저장한다. 데이터는 (key, value) 형태로 data/data/패키지명/shared_prefs 폴더 안에 xml 파일로 저장된다. 해당 파일은 어플리케이션이 삭제되기 전까지 보존된다. SharedPreferences .. 2020. 3. 27. 이전 1 ··· 7 8 9 10 11 12 13 ··· 22 다음 728x90