Google发布的一个和SQLite相关的库了。之前一直都是在SQLite、XUtils、greenDao、Realm这些数据库之间来回折腾。现在终于有一个更“正统”数据库了。
Room有下面几个优点:
① SQL查询在编译时就会验证 - 在编译时检查每个@Query和@Entity等,这就意味着没有任何运行时错误的风险可能会导致应用程序崩溃(并且它不仅检查语法问题,还会检查是否有该表)
② 较少的模板代码
③ 与 LiveData
集成
修改字体框架
// Calligraphy
implementation 'uk.co.chrisjenx:calligraphy:2.3.0'
更为平滑的手写签名框架
// Signature Pad
implementation 'com.github.gcacace:signature-pad:1.2.1'
日志收集及打印框架
// Timber
implementation 'com.jakewharton.timber:timber:4.7.1'
依赖注入是面向对象编程的一种设计原则,其目的是为了降低程序耦合,这个耦合就是类之间的依赖引起的.
// Dagger 2
implementation 'com.google.dagger:dagger-android:2.16'
implementation 'com.google.dagger:dagger-android-support:2.16'
kapt 'com.google.dagger:dagger-android-processor:2.16'
kapt 'com.google.dagger:dagger-compiler:2.16'
-
resourceprovider-library
不清楚什么功能
// Resource provider implementation 'com.xfinity:resourceprovider-library:1.1.0' kapt 'com.xfinity:resourceprovider-compiler:1.1.0'
Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,能分析 Adobe After Effects 导出的动画,并且能让原生 App 像使用静态素材一样使用这些动画,完美实现动画效果。
设计师把一张复杂的图片使用多个图层来表示,每个图层展示一部分内容,图层中的内容也可以拆分为多个元素。拆分元素之后,根据动画需求,可以单独对图层或者图层中的元素做平移、旋转、收缩等动画。
Lottie对外通过控件LottieAnimationView暴露接口,控制动画。
LottieAnimationView继承自ImageView,通过当前时间绘制canvas显示到界面上。这里有两个关键类:LottieComposition 负责解析json描述文件,把json内容转成Java数据对象;LottieDrawable负责绘制,把LottieComposition转成的数据对象绘制成drawable显示到View上。
//Lottie
implementation 'com.airbnb.android:lottie:2.7.0'
在android5.0之前,每一个android应用中只会含有一个dex文件,但是这个dex的方法数量被限制在65535之内,这就是著名的64K(64*1024)事件。为了解决这个问题,Google官方推出了这个类似于补丁一样的support-library,MultiDex。
Android Debug Database是用于调试安卓应用中【数据库】和【shared preferences】的工具。
在这里你可以操作【数据库】和【shared preferences】的数据。
注: 手机和PC需要在同一网段
Retrofit框架是Squre公司开源的,OkHttp也是Squre公司开源的,Dagger 2也是Squre公司开源的,LeakCanary也是Squre公司开源的。
Retrofit其实我们可以理解为OkHttp的加强版,它也是一个网络加载框架。底层是使用OKHttp封装的。准确来说,网络请求的工作本质上是OkHttp完成,而 Retrofit 仅负责网络请求接口的封装。它的一个特点是包含了特别多注解,方便简化你的代码量。并且还支持很多的开源库(著名例子:Retrofit + RxJava)。
由于Retrofit是基于OkHttp,所以还需要添加OkHttp库依赖。
// Retrofit
implementation 'com.squareup.retrofit2:retrofit:2.5.0'
//在Retrofit 2.0中,Package 中已经没有Converter了,所以,你需要自己创建一个Converter,
//不然的话Retrofit只能接收字符串结果,你也只能拿到一串字符,剩下的json转换的活还得你自己来干。
//所以,如果你想接收 json结果并自动转换成解析好的接收类,必须自己创建Converter对象,然后使用
//addConverterFactory把它添加进来!
//Retrofit支持多种数据解析方式,在使用时注意需要在Gradle添加依赖:
implementation 'com.squareup.retrofit2:converter-gson:2.4.0'
//Retorfit支持多种网络请求适配器
//这里使用rxjava网路请求适配器
implementation 'com.squareup.retrofit2:adapter-rxjava:2.4.0'
// OkHttp
implementation 'com.squareup.okhttp3:logging-interceptor:3.10.0'
implementation 'com.squareup.okhttp3:okhttp:3.12.0'
使用MAT来分析内存问题,有一些门槛,会有一些难度,并且效率也不是很高,对于一个内存泄漏问题,可能要进行多次排查和对比才能找到问题原因。 为了能够简单迅速的发现内存泄漏,Square公司基于MAT开源了LeakCanary
Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!
高效的使用RecyclerView应对项目中的常见需求的Adapter,RecycleView从未如此简单!
图片剪裁为圆形的框架
-
迁移到AndroidX
AndroidX将原始支持库API包映射到androidx
命名空间。只有包和Maven工件名称发生了变化; 类,方法和字段名称没有改变。
在 gradle.properties
文件中设置以下两个标志时,Android Studio构建系统也会为您迁移这些依赖项:
android.useAndroidX=true
android.enableJetifier=true