android开发架构总结一——常用的第三方库

android开发中,一般都会导入一些第三方库来实现一些复杂功能,而不用自己重复造轮子,以下是自己在开发过程中,一些常用的第三方库:

1. 网络请求:

(1)Retrofit2.1.0

compile ‘com.squareup.retrofit2:retrofit:2.1.0’//retrofit主网络
compile ‘com.squareup.retrofit2:adapter-rxjava:2.1.0’//将Call类型转成Observable
compile ‘com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0’//用于适配retrofit2, 实现CallAdapter.Factory

(2)rxjava2

compile ‘io.reactivex.rxjava2:rxjava:2.0.4’
compile ‘io.reactivex.rxjava2:rxandroid:2.0.1’

1) REST:
compile ‘com.squareup.retrofit2:converter-gson:2.1.0’//gson解析器

2) WebService:
compile(‘com.squareup.retrofit2:converter-simplexml:2.1.0’)//XML解析与封装,需要把以下三个包排除,否则会有冲突
{
exclude module: ‘stax’
exclude module: ‘stax-api’
exclude module: ‘xpp3’
}

2. 通知数据刷新、发送广播

RxBus(不用导包,直接用Rxjava特性)

3. 文件选择器(可自定义是选择图片(拍照)、文件夹文件)

compile ‘com.droidninja:filepicker:1.0.8’

4. 友盟统计

compile ‘com.umeng.analytics:umeng-analytics:5.4.1’

5. 列表加载,上拉刷新、下拉加载更多、侧滑删除、可自动义侧滑删除按钮(结合了recyclerview-swipe,自己改造过的xrecyclerview)

compile ‘com.jcodecraeer:xrecyclerview:1.2.6’

6. 图片加载

compile ‘com.github.bumptech.glide:glide:3.7.0’
图片的缩放:compile ‘com.commit451:PhotoView:1.2.4’

7. 分包(有bug,需要研究动态加载)

compile ‘com.android.support:multidex:1.0.1’

8. PDF文件预览

compile ‘com.joanzapata.pdfview:android-pdfview:1.0.4@aar’

9. 菜单栏(带图标,数字,多样式)

compile ‘com.flyco.tablayout:FlycoTabLayout_Lib:2.0.8@aar’

10. android6.0权限

compile ‘com.tbruyelle.rxpermissions2:rxpermissions:0.9.1@aar’

11. com.android.support

1) 沉浸式状态栏+添加按钮浮动(下滑不显示,上滑显示等,标题栏等)
compile ‘com.android.support:design:25.3.0’
2) 卡片式布局
compile ‘com.android.support:cardview-v7:25.3.0’
3) appcompat支持对Action Bar接口的设计模式、Material Design接口的实现等,核心类有ActionBar、AppCompatActivity、AppCompatDialog、ShareActionProvider等
compile ‘com.android.support:appcompat-v7:25.3.0’

12. DataBindig实现控件绑定与数据更新

dataBinding {
enabled = true
}

13. 时间选择器(自己封装的module)

包括DateTimePickerDialog(日期时间选择)、DatePickerDialog(日期选择)、TimePickerDialog(时间选择)
DoubleDatePickerDialog(双日期时间选择,开始日期、结束日期)、DoubleTimePickerDialog(双时间选择,开始时间、结束时间)

14. 日历选择器(自己结合第三方库CollapseCalendarView封装成的module)

用于会议日程安排类,可按周、月切换,左右滑动切换上一周、下一周或上一月、下一月,有安排的天数下方显示小红点,下方显示安排列表

15. 应用图标数字提醒

compile ‘me.leolin:ShortcutBadger:1.1.4@aar’

16. 消息推送(个推)

compile ‘com.getui:sdk:+’

17. retrolambda表达式使用

在project的build.gradle添加:classpath ‘me.tatarka:gradle-retrolambda:3.3.1’
在app的build.gradle头部添加:apply plugin: ‘me.tatarka.retrolambda’

18. Activity, Fragment生命管理器(一般是和Rxjava结合使用)

compile ‘com.trello.rxlifecycle2:rxlifecycle:2.0.1’
compile ‘com.trello.rxlifecycle2:rxlifecycle-components:2.0.1’

19. commonlibrary(自己提取的基类)

baseadapter: BaseFragmentAdapter, BaseRecyclerViewAdapter, BaseRecyclerViewHolder
baseapp:BaseActivity, BaseFramgent, BaseRecyclerViewActivity, BaseRecyclerViewFragment

20. 内存泄漏

1) leakcanary
debugCompile ‘com.squareup.leakcanary:leakcanary-android:1.3’//debug包中注入检测
releaseCompile ‘com.squareup.leakcanary:leakcanary-android-no-op:1.3’//release包中注入检测
2) MAT

21. 加快android studio构建速度,快于instant run(但有时会出点问题)

1) 在project的build.gradle的dependencies闭包中添加:
classpath ‘com.antfortune.freeline:gradle:0.8.6’
2) 在app的builde.gradle的头部添加:
apply plugin: ‘com.antfortune.freeline’

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值