Fresco(依赖)
Fresco是FaceBook推出的一个Android开源图片管理框架,它提供了图片下载、渐进式加载、内存管理等功能,很大程度上把程序员从繁琐的图片管理工作中解放了出来,官网地址,Fresco API。
//主要依赖
implementation 'com.facebook.fresco:fresco:2.0.0'
//支持动态GIF
implementation 'com.facebook.fresco:animated-gif:2.0.0'
// 用于WebP支持,包括动画WebP
implementation 'com.facebook.fresco:animated-webp:2.0.0'
implementation 'com.facebook.fresco:webpsupport:2.0.0'
//用于WebP支持,不带动画
implementation 'com.facebook.fresco:webpsupport:2.0.0'
//提供Android支持库(您可能已经有这个或类似的依赖项)
implementation 'com.android.support:support-core-utils:24.2.1'
EventBus依赖(传值)
EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,这里的事件可以理解为消息。事件传递既可以用于Android四大组件间通讯,也可以用于异步线程和主线程间通讯等。
传统的事件传递方式包括:Handler、BroadcastReceiver、Interface回调,相比之下EventBus的有点是代码简洁,使用简单,并将事件发布和 订阅充分解耦。
implementation 'org.greenrobot:eventbus:3.1.1'
smartrefresh依赖(上拉刷新,下拉加载更多)
这是一个可自定义,多功能,多选择,多神奇的下拉刷新,上拉加载的控件
刷新加载的动图效果.源码地址https://github.com/scwang90/SmartRefreshLayout
implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-30'
implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-30'
implementation 'com.android.support:appcompat-v7:28.0.0'
rxjava依赖
RxJava/RxAndroid:是一个在 Java VM 上使用可观测的序列来组成异步的、基于事件的程序的库。
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'
rxandroid依赖
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
rxjava的adapter依赖
implementation 'com.squareup.retrofit2:adapter-rxjava2:2.4.0'
greenDAO 依赖(数据库)
greenDAO 是一个将对象映射到 SQLite 数据库中的轻量且快速的 ORM 解决方案
在Android project下
buildscript {
repositories {
jcenter()
mavenCentral() // add repository
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
}
}
在app/build.gradle下
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao' // apply plugin
依赖:
implementation 'org.greenrobot:greendao:3.2.2' // add library
okhttp依赖(网络解析)
一个处理网络请求的开源项目,是安卓端最火热的轻量级框架,由移动支付Square公司贡献(该公司还贡献了Picasso) [2]
用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,现在已经打不出来
implementation 'com.squareup.okhttp3:okhttp:3.11.0'
Retrofit依赖(网络解析)
Retrofit其实我们可以理解为OkHttp的加强版,它也是一个网络加载框架。底层是使用OKHttp封装的。准确来说,网络请求的工作本质上是OkHttp完成,而 Retrofit 仅负责网络请求接口的封装。它的一个特点是包含了特别多注解,方便简化你的代码量。
implementation 'com.squareup.retrofit2:retrofit:2.4.0'
可选依赖,解析json字符所用
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
侧滑的依赖(tablayout依赖)
Android 5.0 Lollipop是曾经最著名的Android发布之一,这样说很大一部分原因是材料设计的引入,而材料设计则是一种刷新了整个Android体验的设计语言。这个详细说明是开始适应材料设计的好地方,但是也可以理解,材料设计对于开发人员来说是一个巨大的挑战,尤其是关注应用向后兼容的开发人员。有了来自Android Design Support Library的些许帮助,给所有的开发人员和所有Android 2.1+的设备带来了大量非常重要的材料设计构件。你将发现诸如抽屉导航视图,带有浮动标签的EditText,FloatingActionButton,snackbar,tab和把他们联系在一起的动作和滚动框架。
implementation 'com.android.support:design:28.0.0'
recyclerview的依赖(列表)
RecyclerView是Android5.0发布的时候推出的一个全新控件,可以支持API 7以上的版本。展示的效果类似于ListView,RecyclerView 没有提供类似ListView的setOnItemClickListener方法,所以只有我们自己为RecyclerView添加点击事件.
implementation 'com.android.support:recyclerview-v7:28.0.0'
xrecyclerview的依赖(列表)
一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater。 加载效果内置了AVLoadingIndicatorView上的所有效果,可以根据需要指定。
implementation 'com.jcodecraeer:xrecyclerview:1.5.9'
//依赖下方
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '28.0.0'
}
}
}
}
cardview卡片依赖
CardView 是 Google 官方发布 MD 风格卡片布局控件,开发者可以很方便的使用它将布局做成卡片效果
implementation 'com.android.support:cardview-v7:28.0.0'
butterknife自动生成findViewById依赖
ButterKnife 算是一款知名老牌 Android 开发框架了,通过注解绑定视图.
implementation 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
轮播图Banner开源框架导入依赖(图片):
Banner能实现循环播放多个广告图片和手动滑动循环等功能。因为原生ViewPager并不支持循环翻页, 要实现循环还得需要自己去动手。Banner框架可以进行不同样式、不同动画设置, 以及完善的api方法能满足大部分软件首页轮播图效果的需求。
implementation'com.youth.banner:banner:1.4.10'
glide图片(图片轻量级)
Glide是Google推荐的一套快速高效的图片加载框架
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'