안드로이드 코틀린 프로젝트.


안드로이드 targetSdkVersion 26(Oreo[8.0]) 이상으로 설정해야한다.(정책)


//코틀린 추가 확장(안드로이드 리사이클러뷰 뷰홀더에 사용함 LayoutContainer 구현.)

androidExtensions {

    experimental = true

}




안드로이드 프로젝트에서 자주 사용하는 라이브러리 정리



안드로이드 라이브러리.

Project Structure 에서 Dependencies 선택 후 Library Dependency 클릭하여 라이브러리 추가.(타겟버전에 맞추어 추가함.)



통신관련 라이브러리.


* 레트로핏 : 안드로이드 통신 라이브러리.

// 인터페이스를 통해 인터넷 연결을 가지고 있다.

// https://square.github.io/retrofit/

implementation 'com.squareup.retrofit2:retrofit:2.5.0'

   

/*레트로핏 지원 라이브러리*/    

// jsonData 형식을 클래스 객체형식으로 변환하여 준다.

// https://github.com/square/retrofit/tree/master/retrofit-converters/gson

implementation 'com.squareup.retrofit2:converter-gson:latest.version'


// Rxjava 타입을 지원한다.

// https://github.com/square/retrofit/tree/master/retrofit-adapters/rxjava2

implementation 'com.squareup.retrofit2:adapter-rxjava2:latest.version'

   

* okhttp : 안드로이드 통신 라이브러리.(레트포핏을 사용하면 okhttp 최신 버전이 들어있다)

// http,http2 통신라이브러리

// https://square.github.io/okhttp/ 

implementation 'com.squareup.okhttp3:okhttp:3.12.1'

// http 통신시 로그 보기위한 것.

// https://github.com/square/okhttp/tree/master/okhttp-logging-interceptor 

implementation 'com.squareup.okhttp3:logging-interceptor:(insert latest version)'



* Gson : 안드로이드 json 파싱 라이브러리.

// 객체 형태로 데이터를 만들어 준다.

implementation 'com.google.code.gson:gson:2.8.5'




프로그래밍 라이브러리.

// binding :제본   bind : 묶다 


RxJava

– Reactive Extensions for the JVM – a library for composing asynchronous and event-based programs using observable sequences for the Java VM.

* RxJava : 반응형 프로그래밍 라이브러리

   // https://github.com/ReactiveX/RxJava

   implementation "io.reactivex.rxjava2:rxjava:2.x.y"


/*

* RxKotlin 과 RxAndroid 는 내부적으로 RxJava를 참조하나 최신 버전의 RxJava를 명확하게 정의하여 해당 라이브러리를 쓰도록 한다.

*/


RxKotlin

RxJava bindings for Kotlin(기본적으로 RxJava 를 가지고 있다.)

* RxKotlin :    안드로이드 코틀린에서 확장지원 라이브러리.(RxJava가 있어야 하며 버전에 맞게 설정해야한다.)

        // 안드로이드 프로젝트라면. RxAndroid 설정후 .

        // https://github.com/ReactiveX/RxKotlin

        implementation 'io.reactivex.rxjava2:rxkotlin:x.y.z'


RxAndroid

RxJava bindings for Android(기본적으로 RxJava 를 가지고 있다.)

* RxAndroid :  안드로이드 프로젝트에서 사용하기 위한 라이브러리.(RxJava가 있어야 한다.) 쓰레드 관련한 모듈을 제공한다.

       // https://github.com/ReactiveX/RxAndroid

       implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'

       // Because RxAndroid releases are few and far between, it is recommended you also

       // explicitly depend on RxJava's latest version for bug fixes and new features.

       // (see https://github.com/ReactiveX/RxJava/releases for latest 2.x.x version)

       implementation 'io.reactivex.rxjava2:rxjava:2.x.x'

       

* RxBinding 를 사용하기 위한 추가 지원 라이브러리들.

//RxBinding : RxJava binding APIs for Android UI widgets from the platform and support libraries.

implementation 'com.jakewharton.rxbinding3:rxbinding:3.0.0-alpha2'

//

implementation 'com.jakewharton.rxbinding2:rxbinding-kotlin:2.1.0'

implementation 'com.jakewharton.rxbinding2:rxbinding-support-v4-kotlin:2.1.0'

implementation 'com.jakewharton.rxbinding2:rxbinding-appcompat-v7-kotlin:2.1.0'

implementation 'com.jakewharton.rxbinding2:rxbinding-design-kotlin:2.1.0'

implementation 'com.jakewharton.rxbinding2:rxbinding-recyclerview-v7-kotlin:2.1.0'

*RxPermission : 안드로이드 권한 라이브러리

//https://github.com/tbruyelle/RxPermissions

implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.5@aar'


* RxLifecycle : RxJava를 사용하면서 subscribe를 해제 하지 않으면 메모리릭이 발생될수도있기에 서브스크라이브 종료를 해주는 라이브러리.

// https://github.com/trello/RxLifecycle

implementation 'com.trello.rxlifecycle3:rxlifecycle:3.0.0'


// If you want to bind to Android-specific lifecycles

implementation 'com.trello.rxlifecycle3:rxlifecycle-android:3.0.0'


// If you want pre-written Activities and Fragments you can subclass as providers

implementation 'com.trello.rxlifecycle3:rxlifecycle-components:3.0.0'


// If you want pre-written support preference Fragments you can subclass as providers

implementation 'com.trello.rxlifecycle3:rxlifecycle-components-preference:3.0.0'


// If you want to use Android Lifecycle for providers

implementation 'com.trello.rxlifecycle3:rxlifecycle-android-lifecycle:3.0.0'


// If you want to use Kotlin syntax

implementation 'com.trello.rxlifecycle3:rxlifecycle-kotlin:3.0.0'


// If you want to use Kotlin syntax with Android Lifecycle

implementation 'com.trello.rxlifecycle3:rxlifecycle-android-lifecycle-kotlin:3.0.0'


// If you want to use Navi for providers

// DEPRECATED: Use rxlifecycle-android-lifecycle instead. This will be removed in a future release.

implementation 'com.trello.rxlifecycle3:rxlifecycle-navi:3.0.0'





추가지원 라이브러리.

* Realm : 객체중심의 데이터베이스 라이브러리.

// https://realm.io/docs/java/latest


* glide : 이미지 로딩 라이브러리

   repositories {

       mavenCentral()

     google()

           }


     dependencies {

     implementation 'com.github.bumptech.glide:glide:4.8.0'

     annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

     }


'Android > study' 카테고리의 다른 글

MVP 패턴  (0) 2019.04.25
안드로이드 액티비티 및 프래그먼트.  (0) 2018.09.27
레트로핏, okhttp  (0) 2018.08.27
RxJava  (0) 2018.07.30

+ Recent posts