
开源框架
文章平均质量分 94
介绍Android常用的各种开源框架
hzulwy
技术嘛!最重要的是自己理解,然后才是分享
展开
-
Dagger2的使用以及原理分析
在上例中,我们在StudentManager 类中new了一个Student的对象,这样我们在MainActivity中才能调用student类的hashcode方法,否则分分钟就会报空指针异常。通过这个inject注解可以将依赖需求方对象送到Component类中,Component类就会根据依赖需求方对象中声明的依赖关系来注入依赖需求方对象中所需要的对象,注意:inject方法的参数不能用父类来接收,@Inject注解的字段不能是private和protected的。至此,我们的源码分析到此结束。原创 2022-12-10 23:49:48 · 707 阅读 · 0 评论 -
Android开源框架之ButterKnife
简介ButterKnife是注解中相对简单易懂的很不错的开源框架强大的View绑定和Click事件处理功能,简化代码,提升开发效率方便的处理Adapter里的ViewHolder绑定问题运行时不会影响APP效率,使用配置方便代码清晰,可读性强使用步骤在Setting->Plugins中输入butterknife添加插件“Android ButterKnife Aelezn...原创 2020-01-05 13:59:09 · 226 阅读 · 0 评论 -
Android开源框架之Volley
Demo展示:package com.example.dell.myapplication;import android.app.Activity;import android.graphics.Bitmap;import android.os.Bundle;import android.view.View;import android.widget.Button;import ...原创 2020-01-04 11:01:51 · 162 阅读 · 0 评论 -
Android开源框架之EventBus
EventBus是一个Android端优化的publish/subscribe消息总线,简化了应用程序内各组件间、组件与后台线程间的通信。比如请求网络,等网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信,这些需求都可以通过EventBus实现。简单地说:就是可以将某个页面想要传递的信息(例如在目标页面的textview中显示“hello...原创 2019-12-30 19:57:08 · 210 阅读 · 0 评论 -
Android开源框架之Afinal
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite...原创 2020-01-04 10:15:00 · 318 阅读 · 0 评论 -
JSON解析(使用框架解析)
使用Gson框架解析Demo展示: // (4)将Java对象的List转换为json字符串[] private void javaToJsonArrayByGson() { // 1 获取或创建Java对象 List<ShopInfo> shops = new ArrayList<>(); ShopIn...原创 2020-01-06 14:34:38 · 515 阅读 · 0 评论 -
Android开源框架之okhttp
OKHttp是一款高效的HTTP客户端,支持连接同一地址的链接共享同一个socket,通过连接池来减小响应延迟,还有透明的GZIP压缩,请求缓存等优势,其核心主要有路由、连接协议、拦截器、代理、安全性认证、连接池以及网络适配,拦截器主要是指添加,移除或者转换请求或者回应的头部信息这个库也是square开源的一个网络请求库(okhttp内部依赖okio)因此,使用okhttp框架时除了下载okht...原创 2020-01-02 23:25:50 · 298 阅读 · 0 评论 -
Android开源框架之Glide
简介(1)使用简单(2)可配置度高,自适应程度高(3)支持常见图片格式 Jpg png gif webp(4)支持多种数据源 网络、本地、资源、Assets 等(5)高效缓存策略:支持Memory和Disk图片缓存 默认Bitmap格式采用RGB_565内存使用至少减少一半(6)生命周期集成 根据Activity/Fragment生命周期自动管理请求(7)高效处理Bitmap...原创 2020-01-08 11:43:46 · 424 阅读 · 0 评论 -
Android开源框架之TabLayout
简介我们在应用viewpager的时候,经常会使用TabPageIndicator来与其配合。达到很漂亮的效果。但是TabPageIndicator是第三方的,而且比较老了,当然了现在很多大神都已经开始自己写TabPageIndicator来满足自己的需求,在2015年的google大会上,google发布了新的Android Support Design库,里面包含了几个新的控件,其中就有一个...原创 2020-02-04 21:15:42 · 700 阅读 · 0 评论 -
Android开源框架之Banner
简介Banner能实现循环播放多个广告图片和手动滑动循环等功能。因为原生ViewPager并不支持循环翻页, 要实现循环还得需要自己去动手。Banner框架可以进行不同样式、不同动画设置, 以及完善的api方法能满足大部分软件首页轮播图效果的需求。使用下载地址:https://github.com/youth5201314/banner项目关联库dependencies{ ...原创 2020-02-03 20:36:08 · 1974 阅读 · 0 评论 -
Android开源框架之Android-PullToRefresh
简介PullToRefresh是一套实现非常好的下拉刷新库,它支持:ListView、ExpandableListView、GridView、WebView、ScrollView、HorizontalScrollView、ViewPager等多种常用的需要刷新的View类型,而且使用起来也十分方便。使用下载及官方案例地址:https://github.com/chrisbanes/Andr...原创 2020-02-02 21:08:41 · 184 阅读 · 0 评论 -
Android开源框架之ImageLoader
特点多线程下载图片,图片可以来源于网络,文件系统,项目文件夹assets中以及drawable中等支持随意的配置ImageLoader,例如线程池,图片下载器,内存缓存策略,硬盘缓存策略,图片显示选项以及其他的一些配置支持图片的内存缓存,文件系统缓存或者SD卡缓存支持图片下载过程的监听根据控件(ImageView)的大小对Bitmap进行裁剪,减少Bitmap占用过多的内存较好的控制...原创 2020-01-31 12:00:21 · 777 阅读 · 2 评论 -
Android开源框架之XUtils
简介xUtils3 是 xUtils 的升级版,功能和性能都在提高,xUtils3 主要有四大模块:注解模块,联 网模块,图片加载模块,数据库模块;注解模块: 用于在 Activity 或者 Fragment 中初始化布局文件,便于代码更加简洁;联网模块: xUtils3 支持超大文件(超过2G)上传,更全面的http请求协议支持(11种谓词), 拥有更加灵活的 ORM,更多的事件注解支...原创 2020-01-06 17:10:54 · 545 阅读 · 0 评论 -
Android开源框架之OpenDanmaku
简介OpenDanmaku是Android中第三方的弹幕控件,在播放视频和直播软件中过程中弹出用户的评论,并且以滚动的方式显示。使用下载地址:https://github.com/linsea/OpenDanmaku项目关联库Gradle dependencies { compile 'com.linsea:opendanmaku:1.0.0@a...原创 2020-02-05 19:49:22 · 380 阅读 · 0 评论 -
Android开源框架之Picasso(图片加载框架)
简介Picasso是Square公司出品的一个强大的图片下载和缓存图片库。在adapter中需要取消已经不在视野范围的ImageView图片资源的加载,否则会导致图片错位,Picasso已经解决了这个问题。使用复杂的图片压缩转换来减少内存消耗。自带内存和硬盘二级缓存功能。下载地址https://github.com/square/picasso使用步骤在gradle文件...原创 2020-01-07 09:12:51 · 519 阅读 · 0 评论 -
Android开源框架之UniversalVideoView
简介在Android上播放视频最简单的方法是使用SDK中内置的VideoView,然后加上MediaController来控制视频播放暂停等,但是这样有一个缺点是无法定制自己的控制UI,所以这里提供一个自定义播放控件,它可以设置多种自定义属性(如loading样式,错误视频等),并且很容易在全屏与非全屏之间切换,另外支持Android V2.3及以上系统.使用下载地址:https://gi...原创 2020-02-03 11:13:46 · 539 阅读 · 1 评论 -
Android开源框架之Fresco
简介Fresco是Facebook最新推出的一款用于Android应用中展示图片的强大图片库,可以从网络、本地存储和本地资源中加载图片。相对于ImageLoader,拥有更快的图片下载速度以及可以加载和显示gif图等诸多优势,是个很好的图片框架。特点内存管理:在5.0以下系统,Fresco将图片放到一个特别的内存区域。当然,在图片不显示的时候,占用的内存会自动被释放。这会使得APP更加流畅...原创 2020-01-31 13:59:20 · 1021 阅读 · 0 评论 -
Android开源框架之Retrofit
Retrofit是一个类型安全的HTTP的客户端,在Android和Java中都可使用。Retrofit通过注解实现RESTful网络接口,底层使用Okhttp完成网络请求的实现。另外,Retrofit封装了主线程和子线程的切换以及网络数据的解析,在使用上要比OkHttp便利不少。Retrofit的使用步骤添加依赖dependencies { //Retrofit依赖 c...原创 2020-05-09 20:36:39 · 273 阅读 · 0 评论 -
带你认识Retrofit是如何封装Okhttp的
我们本次讨论的主题如下:二者的构建流程可参考下图现在我们知道了上述的背景知识之后,我们就可以进入本文的主题了。基于上述这三点,我们可以清楚得知道retrofit使得okhttp的使用更加的便利。接下来,我们进入第下一个主题:retrofit如何封装okhttp。首先,我先看下构建Retrofit对象的代码:很简单,就是一个建造者模式,通过builder为retrofit配置各种需要的数据。我们进入build方法看下做了什么事情?从上述代码可以看到,我们在构建retrofit对象时可以不用设置call原创 2022-06-08 14:49:38 · 989 阅读 · 0 评论 -
okhttp源码分析
重试及重定向拦截器第一个拦截器:RetryAndFollowUpInterceptor,主要就是完成两件事情:重试与重定向。第一个接触到请求,最后接触到响应;负责判断是否需要重新发起整个请求。重试的前提是出现了RouteException或者IOException。一但在后续的拦截器执行过程中出现这两个异常,就会通过recover方法进行判断是否进行连接重试。重定向发生在重试的判定之后,如果不满足重试的条件,还需要进一步调用followUpRequest根据Response 的响应码(当然,如果直.原创 2022-06-06 17:02:34 · 686 阅读 · 0 评论