一、Kotlin Android Extensions插件:绑定视图的工具插件,直接使用视图xml中控件id
不需要安装,直接在在Gralde中配置
apply plugin: 'kotlin-android-extensions'
二、Anko: kotlin扩展库
组成:
Anko Common:如跳转界面、log、toast、dpsp尺寸转换等
Anko Layout:利用dssl编写布局,不常用,
Anko SQLite
Anko Coroutines:协程,对kotlin协程的封装
// Anko Commons
api "org.jetbrains.anko:anko-commons:$anko_version"
// Support-v4 (only Anko Commons)
api "org.jetbrains.anko:anko-support-v4-commons:$anko_version"
// Appcompat-v7 (only Anko Commons)
api "org.jetbrains.anko:anko-appcompat-v7-commons:$anko_version"
// Anko Layouts
//api "org.jetbrains.anko:anko-sdk25:$anko_version" // sdk15, sdk19, sdk21, sdk23 are also available
//api "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
// Coroutine listeners for Anko Layouts
//api "org.jetbrains.anko:anko-sdk25-coroutines:$anko_version"
//api "org.jetbrains.anko:anko-appcompat-v7-coroutines:$anko_version"
三、Rxkotlin:基于Rxjava,响应式编程,观察者模式
RxAndroid:基于Rxjava扩展库,可以优雅的处理异步请求;更好的兼容Android特性,如主线程、ui事件
(项目中在使用RxJava1)
// RxKotlin and RxAndroid//
api "io.reactivex:rxkotlin:$rx_kotlin_version"
api "io.reactivex:rxandroid:${rx_android_version}"
//Retrofit 网络框架
api "com.squareup.okhttp3:okhttp:${ok_http_version}"
api "com.squareup.retrofit2:retrofit:${retrofit_version}"
api "com.squareup.okhttp3:logging-interceptor:${ok_http_version}"
api "com.squareup.retrofit2:converter-gson:${retrofit_version}"
api "com.squareup.retrofit2:adapter-rxjava:${retrofit_version}"
四、Rotrofit:网络框架
基于okhttp封装的网络库
简单配置就能进行网络请求
与Rx完美结合
api "com.squareup.okhttp3:okhttp:${ok_http_version}"
api "com.squareup.retrofit2:retrofit:${retrofit_version}"
api "com.squareup.okhttp3:logging-interceptor:${ok_http_version}"
api "com.squareup.retrofit2:converter-gson:${retrofit_version}"
api "com.squareup.retrofit2:adapter-rxjava:${retrofit_version}"
另、api也可应用implementation或compile 配置,但是androidstudio3中有些问题,在Android studio3.0中,compile依赖关系已被弃用,被implementation和api替代,见点击打开链接
在整个项目的build.gradle的buildscript中,可查看各个网站获取最新版本
ext.anko_version = '0.10.5'
ext.rx_kotlin_version = '1.0.0'
ext.rx_android_version = '1.2.1'
ext.ok_http_version = '3.4.1'
ext.retrofit_version = '2.1.0'