Medium Android客户端都使用了哪些开源项目

首页 / 常见问题 / 项目管理系统 / Medium Android客户端都使用了哪些开源项目
作者:项目管理 发布时间:10-23 18:02 浏览量:9956
logo
织信企业级低代码开发平台
提供表单、流程、仪表盘、API等功能,非IT用户可通过设计表单来收集数据,设计流程来进行业务协作,使用仪表盘来进行数据分析与展示,IT用户可通过API集成第三方系统平台数据。
免费试用

Medium Android客户端使用的开源项目:1、Retrofit;2、OkHttp;3、Glide;4、RxJava;5、ButterKnife;6、Timber;7、Mockito;8、Dagger2。Retrofit是一个适用于 Android 和 Java 的类型安全的 HTTP 客户端。

1、Retrofit

Retrofit是一个适用于 Android 和 Java 的类型安全的 HTTP 客户端,是一个针对Android平台的网络请求库,它基于OkHttp封装了网络请求的底层处理细节,支持使用注解声明HTTP请求参数和请求方法,并且还提供了丰富的插件和扩展机制,帮助我们更方便、高效地进行网络通信。Retrofit的核心思想是将API定义为接口,并使用注解来描述这个接口中的各个方法,使得代码看起来非常简洁和可读。

示例:

public interface ApiService {
    @GET("/users/{user}/repos")
    Call<List<Repo>> listRepos(@Path("user") String user);
}

2、OkHttp

okhttp 是一个 Java 的 HTTP+SPDY 客户端开发包,同时也支持 Android。OkHttp 主要是通过 5 个[拦截器]和 3 个双端队列(2 个异步队列,1 个同步队列)工作。内部实现通过一个责任链模式完成,将网络请求的各个阶段封装到各个链条中,实现了各层的解耦。

OkHttp 的底层是通过 Socket 发送 HTTP 请求与接受响应,但是 OkHttp 实现了连接池的概念,即对于同一主机的多个请求,可以公用一个 Socket 连接,而不是每次发送完 HTTP 请求就关闭底层的 Socket,这样就实现了连接池的概念。而 OkHttp 对 Socket 的读写操作使用的 OkIo 库进行了一层封装。

3、Glide

Glide是一个快速高效的Android图片加载库,注重于平滑的滚动。Glide提供了易用的API,高性能、可扩展的图片解码管道(decode pipeline),以及自动的资源池技术。Glide 的目标是让任何形式的图片列表的滚动尽可能地变得更快、更平滑,但实际上,Glide几乎能满足你对远程图片的拉取/缩放/显示的一切需求。

Glide 支持拉取,解码和展示视频快照、图片和GIF动画。Glide的Api灵活易用,开发者可以插入和替换成自己喜爱的任何网络栈。默认情况下,Glide使用的是一个定制化的基于HttpUrlConnection的栈,但同时也提供了与Google Volley和Square OkHttp快速集成的工具库。

4、RxJava

RxJava 是 Reactive Extensions 的 Java VM 实现,Reactive Extensions 是一个通过使用可观察序列来组成异步和基于事件的程序的库。它扩展了 observer 模式,以支持数据 / 事件序列,并增加了一些操作符,使用户能够声明性地将序列组合在一起,同时抽象出低级线程、同步、线程安全和并发数据结构等方面的问题。

5、ButterKnife

ButterKnife是一个专注于Android系统的View注入框架,以前总是要写很多findViewById来找到View对象,有了ButterKnife可以很轻松的省去这些步骤。使用ButterKnife对性能基本没有损失,因为ButterKnife用到的注解并不是在运行时反射的,而是在编译的时候生成新的class。项目集成起来也是特别方便,使用起来也是特别简单。

6、Timber

Timber是一个用于WordPress主题开发的PHP库,它基于Twig模板引擎,将HTML代码与PHP代码分离,帮助开发者更方便地创建自定义主题。使用Timber,你可以在主题开发过程中使用Twig编写模板文件,这样可以使主题代码结构更加清晰、模块化和易于维护。一旦在你的插件目录中安装并激活了Timber,它就为任何WordPress主题提供了使用Twig和其他Timber特性的能力。

7、Mockito

Mockito 是一个针对 Java 的 mocking 框架。它与 EasyMock 和 jMock 很相似,但是通过在执行后校验什么已经被调用,它消除了对期望行为(expectations)的需要。Mockito使用简单,易于学习,并且能够与许多常用的Java测试框架集成,例如JUnit和TestNG。使用Mockito,我们可以轻松地创建和配置模拟对象,并设置它们预期的行为,并在测试中验证我们的代码与这些模拟对象交互的方式。

8、Dagger2

Dagger2是一个依赖注入框架,它能够帮助我们更方便地管理和操纵Java类之间的依赖关系。使用Dagger2,我们可以定义应用程序中各个对象之间的依赖关系,并使它们在运行时自动地解决这些依赖关系。在Dagger2中,我们需要定义Injector(注入器)和Module(模块)两个概念。Injector是负责创建和管理对象的组件,而Module则定义了为这些对象提供依赖项的方式。

延伸阅读1:okhttp优势

  1. 允许连接到同一个主机地址的所有请求,提高请求效率
  2. 共享Socket,减少对服务器的请求次数
  3. 通过连接池,减少了请求延迟
  4. 缓存响应数据来减少重复的网络请求
  5. 减少了对数据流量的消耗
  6. 自动处理GZip压缩
最后建议,企业在引入信息化系统初期,切记要合理有效地运用好工具,这样一来不仅可以让公司业务高效地运行,还能最大程度保证团队目标的达成。同时还能大幅缩短系统开发和部署的时间成本。特别是有特定需求功能需要定制化的企业,可以采用我们公司自研的企业级低代码平台:织信Informat。 织信平台基于数据模型优先的设计理念,提供大量标准化的组件,内置AI助手、组件设计器、自动化(图形化编程)、脚本、工作流引擎(BPMN2.0)、自定义API、表单设计器、权限、仪表盘等功能,能帮助企业构建高度复杂核心的数字化系统。如ERP、MES、CRM、PLM、SCM、WMS、项目管理、流程管理等多个应用场景,全面助力企业落地国产化/信息化/数字化转型战略目标。 版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们微信:Informat_5 处理,核实后本网站将在24小时内删除。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系邮箱:hopper@cornerstone365.cn 处理,核实后本网站将在24小时内删除。

最近更新

政府项目业务管理包含哪些方面
11-08 09:17
业务管理指管哪些项目
11-08 09:17
项目如何提前跟进业务管理
11-08 09:17
如何开展项目设计业务管理
11-08 09:17
项目公司如何开展业务管理
11-08 09:17
项目方案如何跟进业务管理
11-08 09:17
如何做好政府项目业务管理
11-08 09:17
CEO的国际业务管理
11-08 09:17
项目融资如何对接业务管理
11-08 09:17

立即开启你的数字化管理

用心为每一位用户提供专业的数字化解决方案及业务咨询

  • 深圳市基石协作科技有限公司
  • 地址:深圳市南山区科技中一路大族激光科技中心909室
  • 座机:400-185-5850
  • 手机:137-1379-6908
  • 邮箱:sales@cornerstone365.cn
  • 微信公众号二维码

© copyright 2019-2024. 织信INFORMAT 深圳市基石协作科技有限公司 版权所有 | 粤ICP备15078182号

前往Gitee仓库
微信公众号二维码
咨询织信数字化顾问获取最新资料
数字化咨询热线
400-185-5850
申请预约演示
立即与行业专家交流