小编为大家整理了些优秀的 Kotlin 开源项目,希望能够给大家带来帮助:) 如果大家有与 Kotlin 相关的开源项目,记得托管到 码云 上哦,我们会及时给予推荐。...项目简介:Twobbble 是一个 Android 平台的第三方 Dribbble 客户端,与大多数这类应用一样,他完全基于 MaterialDesign 设计。...而值得一提的是 Twobbble 完全使用 Kotlin 开发,并使用了 RxJava,Retrofit2,EventBus,Fresco,等多个常用第三方项目,会充分的证明了 Kotlin 在实际生产中的可靠与...该项目目前实现了 Dribbble 官方所给出的大多数 API,当然还有很多功能未实现,日后也会继续完善,当然如果你有兴趣,欢迎你 fork 并参与到开发中来。...格式(未来将支持更多格式) 支持在线小说阅读(可缓存, 未来将支持自定义在线小说源) 支持听书和自动阅读 支持各种姿势翻页, 支持自定义字体 项目地址:chengshuai / 爱看阅读 7、项目名称:
Android平台的Web服务器和Web框架。它提供类似SpringMVC的注释,如果您熟悉SpringMVC,您可以很快地掌握它。 静态html网站部署。 动态http api部署。...:processor:2.1.5' ... } 如果你使用的是Kotlin, 需要替换annotationProcessor 为kapt. ---- TemplateAndServer 介绍完...全局异常捕获处理,返回统一API结果。 增加全局权限验证拦截器。 文件上传。 后台管理界面。 接口测试界面。...返回Json格式 { "code":0, //响应码,0为成功,否则失败 "msg":"", //请求失败的原因说明 "data":{} //返回的数据对象 } 集成说明...AndServer 一个HTTP和反向代理服务器 XHttp2 一个功能强悍的网络请求库,使用RxJava2 + Retrofit2 + OKHttp组合进行封装。
Retrofit和Java领域的ORM概念类似, ORM把结构化数据转换为Java对象,而Retrofit 把REST API返回的数据转化为Java对象方便操作。同时还封装了网络代码的调用。...我们都知道服务器返回的结果一般都是下面这种格式的: image.png 一定是有code状态码和返回信息的,我之前的用法和教程一样,说将服务器返回的结果复制下来直接在AS上面利用GsonFormat...,那么问题又来了,error_code会有不同的值,而不同的值需要我们所做的操作不同,举个例子,我们的需求是 0-请求成功 1-请求失败,登录过期 2-请求失败,无权限 3-请求失败-余额不足 …....最后分享几个不错的Retrofit博客吧: 你真的会用Retrofit2吗?Retrofit2完全教程 深入浅出 Retrofit,这么牛逼的框架你们还不来看看?...Android Retrofit 2.0 使用-补充篇
,其将请求返回javaBean,对网络认证 REST API进行了很好对支持此,使用Retrofit将会极大的提高我们应用的网络体验。...REST 既然是RESTful架构,那么我们就来看一下什么是REST吧。 REST(REpresentational State Transfer)是一组架构约束条件和原则。...更多关于REST的介绍:什么是REST - GitHub讲解的非常详细 2.0与1.9使用比较 如果之前使用过Retrofit1,会发现2.0后的API会有一些变化, 比如创建方式,拦截器,错误处理,转换器等...最后来一张图看懂android内存结构,参考:Android文件存储使用参考 - liaohuqiu /** * | ($rootDir) * +- /data...参考 Articles tagged in: Retrofit 官方文档 Retrofit2 完全解析 探索与okhttp之间的关系 Retrofit 2.0 + OkHttp 3.0 配置 更新到
Flow 结合 Retrofit2 + Room 的混合使用 Kotlin Flow 与 LiveData 的使用 使用 Coil 加载图片 使用 ViewModel、LiveData、DataBinding...Kotlin Flow 如何与 Retrofit2 + Room 混合使用?...Google 推荐在 MVVM 中 使用 Kotlin Flow Google 推荐在 MVVM 中使用 Kotlin Flow我相信如今几乎所有的 Android 开发者至少都听过 MVVM 架构,在...Google Android 团队宣布了 Jetpack 的视图模型之后,它已经成为了现代 Android 开发模式最流行的架构之一,如下图所示: ?...在官宣 Jetpack 的视图模型之后,同时 Google 在 [Jetpack Guide](https://developer.android.com/jetpack/guide#fetch-data
在前面2篇文章使用 Kotlin 和Spring Boot 2.0快速开发REST API接口和使用 Kotlin 和Spring Boot 2.0快速开发REST API客户端介绍了如何使用简单代码快速实现...REST API的服务端接口及客户端应用。...回到正题,实现数据交互,我们需要在REST API服务端实现针对不同类型HTTP请求的响应机制,其中常见的HTTP请求类型包括GET,POST,DELETE,PUT等,前面我们的接口仅实现了针对不带参数的...Kotlin响应函数 “/get/XXX” URL路径变量 GET("/get/{id}") { request -> ServerResponse.ok().body(bookRepository.findById...POST类型HTTP请求传递参数有如下2种方式,获取参数值的方法参见下表: 请求路径格式参考 传参方式 Kotlin获取参数值的方法 “/add?
这个模型很像客户端和服务器之间的通讯,客户端和服务器约定好服务的接口(REST API),客户端传递参数调用服务,服务端返回调用结果,在通讯链路上传递的数据是双方都支持的 JSON 格式。...这个模型和之前的各种关注 UI 的跨平台解决方案模型的最大不同是:让所有的相关方处理自己最擅长的事情,而不要强行适配。...那位问了:人家 REST/GraphQL API 不都是用 JSON 做序列化么?为啥这个场景使用就有问题呢?...从上述的例子,我们大概可以看到在 Rust 侧我们可以处理的工作: 更高效的网络层:自动管理的连接池,更好的流控,更灵活的安全处理方式,以及,UI 侧无感知的网络层处理,比如有一天我们把 REST API...所以,如果用 Rust 作为客户端来处理 REST API,每次 API 的请求能够节省大量的时间,尤其是很大的 JSON response。
本文注目录: Retrofit入门 Retrofit注解详解 Gson与Converter RxJava与CallAdapter 自定义Converter 自定义CallAdapter 其它说明 前言...当然你也可以自己借助 json-server 或 最新开源的Parse 搭建一个REST API,不过都需要安装Node.js,有兴趣的可以去试试。 接口列表: ?...当然本篇文章会介绍得详细一点,不能写一篇水文,毕竟我给它命名为《你真的会用Retrofit2吗?Retrofit2完全教程》。...1.3、接口调用 Call call = service.getFirstBlog(2); // 用法和OkHttp的call如出一辙, // 不同的是如果是Android系统回调方法执行在主线程...在默认情况下Retrofit只支持将HTTP的响应体转换换为ResponseBody, 这也是什么我在前面的例子接口的返回值都是 Call, 但如果响应体只是支持转换为ResponseBody的话何必要引用泛型呢
从高层来看,Spring Framework 5.0 的功能可以分为: JDK 基线更新 核心框架修正 核心容器更新 含 Kotlin 在内的函数式编程 响应式编程模型 测试改进 库支持 中止支持 Spring...在 Spring Framework 5.0 中, 你可以为 WEB 的函数式 API 编写干净且地道的 Kotlin 代码,就像下面这样 { ("/movie" and accept(TEXT_HTML...响应式编程模型 此次 Spring 发行版本的一个激动人心的特性就是新的响应式堆栈 WEB 框架。这个堆栈完全的响应式且非阻塞,适合于事件循环风格的处理,可以进行少量线程的扩展。...它为响应式编程实现的实现提供一个公共的 API,好实现 Hibernate 的 JPA。这里 JPA 就是这个 API, 而 Hibernate 就是实现。...Spring Framework 5.0 还提供了对于运行于服务器之上,包含了 REST, HTML, 以及 WebSocket 风格交互的响应式网页应用程序的支持。
本项目包含以下知识点: MVP架构思想 Retrofit RESTful API 框架的配合 RxJava 响应式编程 Butter Knife:通过注解绑定 View 夜间模式切换 效果图: ?...主要用到的开源库: Dagger2 RxJava Retrofit2 Butterknife Greendao PhotoView Glide Picasso … 效果图: ?...https://github.com/BaronZ88/MinimalistWeather 5.TranslateApp 一个实现 『划词翻译』 功能的 Android 应用 ,可能是目前 Android...对网络返回内容做缓存, 还有日志、超时重连、头部消息的配置 V层基类的构建, 包括 BaseActivity 和 BaseFragment , 对外提供了相同的接口 使用原生的夜间模式 解决侧滑返回与...主要技术点: 整体项目MVP结构 Dagger2 相机部分,API >= 21使用 Camera2 ,API < 21使用 Camera 相机的状态机,聚焦状态机 照片缓存分为两种,一个是大图,一个是小图
CallArbiter.java (https://github.com/square/retrofit/blob/master/retrofit-adapters/rxjava/src/main/java/retrofit2.../adapter/rxjava/CallArbiter.java) 而我呢,最近在闲暇时间仿照 Retrofit 写了一个叫做 RetroApollo 的项目,这个项目主要是对 Apollo-Android...(https://github.com/apollographql/apollo-android) 这个项目做了封装,让我们更方便的访问 GraphQL Api,这其中呢,就涉及到对 RxJava 的支持了...不过这方法名咋看着这么眼熟呢,好像 Kotlin 里面所有的数都有这个方法吧,追查了一下 Kotlin 源码,居然发现 Kotlin 自己有个叫 Number 的抽象类!...不过这里还是有问题的,Java 中的 Number 有类似 doubleValue 这样的方法,Kotlin 当中的 toDouble 与之有何关系?
从高层来看,Spring Framework 5.0 的功能可以分为: JDK 基线更新 核心框架修正 核心容器更新 含 Kotlin 在内的函数式编程 响应式编程模型 测试改进 库支持 中止支持 Spring...在 Spring Framework 5.0 中, 你可以为 WEB 的函数式 API 编写干净且地道的 Kotlin 代码,就像下面这样: { ("/movie" and accept(TEXT_HTML...响应式编程模型 此次 Spring 发行版本的一个激动人心的特性就是新的响应式堆栈 WEB 框架。这个堆栈完全的响应式且非阻塞,适合于事件循环风格的处理,可以进行少量线程的扩展。...它为响应式编程实现的实现提供一个公共的 API,好实现 Hibernate 的 JPA。这里 JPA 就是这个 API, 而 Hibernate 就是实现。...Spring Framework 5.0 还提供了对于运行于服务器之上,包含了 REST, HTML, 以及 WebSocket 风格交互的响应式网页应用程序的支持。
Kotlin 在不同平台均可与该平台的原生开发语言直接相互调用,在 Android 平台 Kotlin 是官方支持的一等开发语言,与 Java 的互操作自不用说。...不过 KMM 是语言层面跨平台的技术与框架,且当前处于 alpha 阶段,所以仍有一些缺点,包括: 1)Kotlin/JVM 与 Kotlin/Native 的异步并发模型不同。...API,生成 klib 文件格式,供 KMM 工程调用。...这些基础库通常是由 Android 与 iOS 两端分别实现,编程语言不同,但 API 的设计、命名、参数数量与类型定义都高度相似。...3.1 Kotlin/JVM 与 Kotlin/Native 异步并发模型不兼容 Kotlin/Native 的异步并发模型受对象子图机制的约束,这与 Kotlin/JVM 可以自由的编写异步并发代码完全不同
,它能大幅降低代码量并包含交互式工具,以及使用直观的 Kotlin API,为您的应用增添活力。...Jetpack Compose 结合刚刚提到的三点优势应运而生——可大规模构建高质量应用的 API、直观的编程语言以及响应式的编程模型。...UI 组件 性能优化 测试 文本和可编辑文本 主题和图形 Window 管理 在与 JetBrains Kotlin 团队 的紧密合作下,我们也为 Android Studio 4.2 canary...Compose 的编程思想 Compose 使用的编程模型与 Android 上现有的构建 UI 的模型完全不同。...Compose 设计得和 Kotlin 一样容易采用——它从一开始就可以与现有的 Android 代码完全互操作。
+动态代理+高效IO Android高级UI与FrameWork源码:高级UI晋升+Framework内核解析+Android组件内核+数据持久化 360°全方面性能调优:设计思想与代码质量优化+程序性能优化...+开发效率优化 解读开源框架设计思想:热修复设计+插件化框架解读+组件化框架设计+图片加载框架+网络访问框架设计+RXJava响应式编程框架设计+IOC架构设计+Android架构组件Jetpack NDK...模块开发:NDK基础知识体系+底层图片处理+音视频开发 微信小程序:小程序介绍+UI开发+API操作+微信对接 Hybrid 开发与Flutter:Html5项目实战+Flutter进阶 其实这个培训清单我个人觉得是目前来说总结得比较好的...Kotlin 编程的三重境界 Kotlin 高阶函数 Kotlin 泛型 Kotlin 扩展 Kotlin 委托 协程“不为人知”的调试技巧 图解协程:suspend 5.Android设计思想解读开源框架...热修复 插件化 组件化框架设计 图片加载框架 网络请求框架 RXJava 响应式编程框架设计 IOC 架构设计 Android架构组件Jetpack 6.NDK模块开发 NDK 模块开发 JNI 模块
: A type-safe HTTP client for Android and Java 我简单翻译一下就是: 一个类型安全的、Android或者Java的客户端 通过使用注解去描述一个HTTP...所有的网络通信,其核心任务就只有一个就是:Client端与Server端进行数据和交互操作,所有Retrofit就将底层代码都封装起来,只是暴露除了我们业务中的数据模型和操作方法。...在处理HTTP请求的时候,因为不同场景或者边界情况等比较难处理。...在Retrofit2之前,OkHttp是一个可选的客户端。二Retrofit2中,Retrofit与OkHttp强耦合,使得更好地利用OkHttp,包括使用OkHttp解决一些棘手的问题。...七、总结 Retrofit将REST API抽象成Java接口,使用注解来描述每一个API地址和请求,支持URL参数替换(包括查询参数和路径参数),以及表单编码和多部分请求功能。
Spring Framework 5新引入的反应式(Reactor)编程框架WebFlux将会取代传统的基于Servlet API的阻塞模型。...主要使用 IntelliJ IDEA 和Kotlin开发, 同时还有 Eclipse 与FindBugs. 一些Spring APIs 直接摒弃使用 null 值(e.g....与不可变对象的数据绑定 (Kotlin / Lombok / @ConstructorProperties) 支持 JSON 绑定 API (使用 Eclipse Yasson 或 Apache Johnzon...它为响应式编程实现的实现提供了一个公共的 API。就好比是实现JPA接口的Hibernate 框架。...Spring Framework 5.0 还提供了对于运行于服务器之上,包含了 REST, HTML, 以及 WebSocket 风格交互的响应式 Web应用程序的支持。
Kotlin 协程概述 什么是协程:协程是轻量级的线程,能够在不阻塞线程的情况下执行异步任务。Kotlin 提供了简洁的 API 来管理协程。...Kotlin 协程的高级特性 协程上下文与调度器:展示如何使用不同的调度器 (Dispatchers.Default, Dispatchers.IO 等) 来优化协程执行环境。...Channel 与 Flow:介绍 Channel和 Flow,Kotlin 协程的异步数据流处理工具,特别适合响应式编程和数据流场景。...实战场景:在生产环境中的应用 API 调用与并行请求:展示如何使用 `async` 并行处理多个网络请求,与 Java 中 `CompletableFuture` 的并行任务处理对比。...协程在 Android 和服务器端开发中的应用:Kotlin 协程在 Android 中已经成为标准,展示在 Android 和服务端应用中的实践。 8.
领英平台所采用的是微服务架构,而多年以来,JSON 一直都是领英在微服务暴露的五万余 API 节点中所使用的序列化格式。...Rest.li 框架主要支持 Java 和 Python,但也可与 Scala、Kotlin、JavaScript、Go 等语言协同运作。...Rest.li 服务器和客户端之间的数据流和控制流(来源:Rest.li 文档) Rest.li 的默认序列化格式为 JSON,这种格式支持多款语言且易于人类阅读,后者虽然好处甚多,但却给性能(尤其是延迟...这套解决方案中需生成一个用于动态生成 Protobuf 模式定义的符号表,但根据客户端类型的不同,符号表的交付方式也会有所不同。...具体请见 InfoQ 博客:API 间的对决:REST vs. GraphQL vs. gRPC:该用哪一种?
这是因为,我们在不同客户端搜索的时候,都访问了后端同一个 API 。这样后端针对前端的同一种需求,只需开发一种接口,就可满足前端不同终端对于该资源的调用,大大降低了开发工作量,节约了开发时间。...两者都是数据转换格式,比如我们在django中获取到的数据默认是模型对象,但是模型对象数据无法直接提供给前端或别的平台使用,所以需要把数据进行序列化,变成字符串或者json数据,提供给别人,这是序列化。...'rest_framework', ] 在项目中如果使用rest_framework框架实现API接口,主要有以下三个步骤: 将请求的数据(如JSON格式)转换为模型类对象 通过模型类对象进行数据库操作...,完成客户端请求的增删查改 将模型类对象转换为响应的数据(如JSON格式) 接下来以学生管理为例介绍下使用drf写代码的过程: 创建子应用: python manage.py startapp students...StudentModelSerializer类用于处理序列化与反序列化。
领取专属 10元无门槛券
手把手带您无忧上云