전체 글

전체 글

    [JETPACK개론] Retrofit

    [JETPACK개론] Retrofit

    트러버 앱을 만들면서 Retrofit을 많이 이용하였는데 ViewModel 과 코루틴과 같이 사용해본 경험은 없어 아쉬움이 큰 프로젝트였다. 따라서 이번 젯팩 인프런 강의를 들으면서 다시 한번 복습하며 ViewModel과 코투린 같이 사용해볼 예정이다. Retrofit2 관련해서 포스팅했던 링크를 첨부한다!! 개념은 링크를 통해서 보고! 이번 글에서는 젯팩 강의에서 진행했던 실습을 정리해보려고한다! [Android] Retrofit2 사용하기 Retrofit2 ? -Rest API 통신 라이브러리 -Rest API 통신을 위해 구현된 스퀘어사의 OkHttp 라이브러리의 상위 구현체 -android와 서버 환경에서 HTTP API를 쉽고 안전하게 사용할 수 있도록 도와준다. Retrofit을.. ssong..

    [Kotlin/Basic] 코틀린에서의 접근제어

    [Kotlin/Basic] 코틀린에서의 접근제어

    1. 자바와 코틀린의 가시성 제어 위의 그림과 같이 public과 private은 똑같지만, protected와 default에서 차이점이 존재한다!! 같은 패키지에서 사용 가능했던 protected가 코틀린에서는 선언된 클래스, 하위클래스에서만 접근이 가능하다!! 또한, default가 사라지고 internal이 등장했고 이는 같은 모듈에서만 접근이 가능하다! 2. 코틀린 파일의 접근 제어 public은 기본값으로 어디에서든 접근이 가능하다!! var a = 3 fun add(a : Int, b : Int) : Int { return a + b } 코틀린 파일안에 기본값이 public으로 어디에서든 접근이 가능하다!! 하지만 protected는 파일 최상단에서는 사용이 불가능하다! 왜냐하면 파일의 최상..

    [Kotlin/Basic] 코틀린에서의 상속

    [Kotlin/Basic] 코틀린에서의 상속

    1. 추상클래스 추상클래스의 이해를 돕기 위해 먼저 동물이라는 상위클래스와 고양이, 펭귄 이라는 하위클래스를 만들어보자! 위의 자바 클래스를 코틀린으로 바꾸어보자! abstract class Animal( protected val species : String, protected open val legCount : Int //프로퍼티를 오버라이드 할 때 추상 프로퍼티가 아니라면 //무조건 open을 붙여줘야만함 ) { abstract fun move() } 이렇게 변경시킬 수 있고, 위의 open이라는 지시어는 오버라이드를 할 수 있게 열어준다는 뜻이다! 먼저 Cat클래스를 만들어 Animal클래스를 상속받아보자. class Cat( species : String ) : Animal(species, 4)..

    [JETPACK개론] DataBinding + ViewModel + LiveData

    [JETPACK개론] DataBinding + ViewModel + LiveData

    앞에서 공부했던 DataBinding과 ViewModel과 LiveData를 사용하여 실습을 진행해보자!! 이렇게 과일 이름이 주어지고, 그 밑 두 개는 위의 과일이름이 섞여서 나오는 프로그램을 ViewModel과 LiveData를 사용하여 구현해보자. 데이터바인딩 준비 buildFeatures{ dataBinding true } ViewModel 준비 class MainViewModel : ViewModel() { private var _mutableWord = MutableLiveData("") val liveWord : LiveData get() = _mutableWord private var _randommutableWord = MutableLiveData("") val randomliveWord..

    [JETPACK개론] Map / SwitchMap

    LiveData를 사용하다 보면 여러 가지의 데이터를 다루게 되고, 이러한 데이터들이 함께 바껴야하는 상황도 많이 만나게 된다. 데이터베이스와 네트워크 통신을 도와주는 라이브러리와 함께 사용되기도 하는데 이 때 Transformation의 Map과 SwitchMap 메소드를 사용한다!! 간단한 실습을 통해 이 두 가지를 알아보자! EditText에 숫자를 입력하고 버튼을 누르면 자동으로 그 숫자끼리 더해지고, 곱해지는 프로그램을 구현해보자. 예를 들어, 10을 입력하면 20과 100이 출력되는 것이다. 위의 메소드를 모두 이용한다고하면, 10이라는 라이브데이터로 20과 100으로 변환시키는 것에서 이용할 수 있을 것이다! private var _mutableCount = MutableLiveData(0)..