总结篇,MVVM + Kotlin

完整代码Gitee地址:kotlin-demo: 10天Kotlin开发计划

总结篇:mvvm请求框架

经过前面基础学习,我们要如何运用到实际开发当中,

这里整理出了一套MVVM框架,先看看实际效果图:

总结篇,MVVM + Kotlin_第1张图片

总结篇,MVVM + Kotlin_第2张图片

项目结构

MVVM + Kotlin + ViewModel + Retrofit + RxJava

总结篇,MVVM + Kotlin_第3张图片

 项目引用库

    /* viewmodel*/
    implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0'

    /* 网络访问 */
    implementation 'com.squareup.okhttp3:okhttp:4.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.9.0'
    /* retrofit2 */
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.retrofit2:adapter-rxjava2:2.9.0'
    /* 异步任务 */
    implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.2.19'

    /* 刷新 */
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01'
    /* 圆角图片 */
    implementation 'de.hdodenhof:circleimageview:2.2.0'
    /* 图片显示 */
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

请求接口

登录:https://api.github.com/user

列表:https://api.github.com/users/{username}/repos?&page=1&per_page=30&sort=updated

    @GET("user")
    fun fetchUserOwner(@Header("Authorization") authorization: String): Observable

    @GET("users/{username}/repos?")
    fun queryRepos(@Path("username") username: String,
                           @Query("page") pageIndex: Int,
                           @Query("per_page") perPage: Int,
                           @Query("sort") sort: String): Observable

未完待续...

项目会继续优化下去,喜欢的点个❤️吧。

你可能感兴趣的:(Kotlin10天开发计划,kotlin,android)