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’

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

  1. python web开发第三方库_Python Web开发中常用的第三方库

    Python Web开发中常用的第三方库 TL;DR 经常有朋友问,如果用Python来做Web开发,该选用什么框架?用 Pyramid 开发Web该选用怎样的组合等问题?在这里我将介绍一些Pytho ...

  2. 整理下开发中常用的第三方库

    在日常开发中,我们常常使用一些第三方库.我就在这整理下我常用的第三方库.这只是我常用的,使用习惯不一定和别人相同.但用于日常开发足够了. 1. AFNetworking 这是用于网络请求的库,使用方法 ...

  3. android底层 考试 华清,Android开发架构你真的了解吗—华清创客学院

    原标题:Android开发架构你真的了解吗-华清创客学院 华清创客学院讲师:我在网上翻过很多关于架构的文章,android也好,iOS也好,谈的更多的都是对工程结构的划分,涉及架构的部分非常少. 很多 ...

  4. 个人常用iOS第三方库以及XCode插件介绍

    第三方库是现在的程序员离不开的东西,不光是APP开发,基本上所有的商业项目都会或多或少的使用到第三方库. Github上Star>100的开源库数量如下 可以看到JS以绝对的优势排名第一,一定程 ...

  5. ios framework 调用第三方 framework_Python基础:标准库和常用的第三方库

    Python的标准库有: 名称 作用 datetime 为日期和时间处理同时提供了简单和复杂的方法. zlib 直接支持通用的数据打包和压缩格式:zlib,gzip,bz2,zipfile,以及 ta ...

  6. Python基础:标准库和常用的第三方库

    目录 Python的标准库 Python常用的第三方库 标准库用法参考示例 datetime库: zlib库: sys库: urllib: Python的标准库 名称 作用 datetime 为日期和 ...

  7. Python中常用的第三方库

    Python中常用的第三方库 库名 用途 numpy n维数据表示和运算 matplotlib 二维数据可视化 numpy n维数据表示和运算 pil 图像处理 scikit-learn 机器学习和数 ...

  8. 吐血整理——python常用的第三方库——库名称简介

    python常用的第三方库--库名称简介(一) python常用的第三方库--库名称简介(一) python常用的第三方库--库名称简介(一) 库名称简介 文件处理 库名称简介 Chardet字符编码 ...

  9. Android开发架构规范

    前言 在开发中,一个良好的开发习惯以及一个开发规范可能会让你少走很多弯路,也会一定程度上的提高代码的可读性,可维护性和可拓展性.当随着需求的不断变更,需要维护项目的时候.当随着项目的代码量的提升,需要 ...

最新文章

  1. 词向量, BERT, ALBERT, XLNet全面解析(ALBERT第一作者亲自讲解)
  2. sql基础教程和mysql基础教程_书评「SQL基础教程(第2版)」| 你应该知道的基础知识点梳理·上...
  3. mac os 系统密码正确的 但是进不了系统
  4. ABAP 如何判断调用smartforms时是进行打印还是预览
  5. 科大讯飞同时公布年报和一季度报,冰火两重天
  6. 自动生成文章的html,文章自动更新工具|自动生成文件|自动伪原创|文章自动插入关键词工具...
  7. 编译C/C++为dll供Python调用
  8. 转载自《读者》--您也吻我一下好吗
  9. 抖音正考虑赴美IPO?字节跳动回应:消息不实
  10. 几种常见的数据库连接的URL写法(包括国产数据达梦DM)
  11. asp.net网站后台退出后,点后退按钮仍能进,如何安全退出
  12. ASP中常用的服务器检测源代码
  13. api wke_好用的wke浏览器代码,兼容chrome
  14. 高性能网络编程(一):单台服务器并发TCP连接数到底可以有多少?
  15. Unity富文本详解
  16. 2019最火的直播平台有哪些?2019直播前十名排名
  17. Mysql面试基础知识(全)
  18. CentOS7取消服务器自动休眠
  19. 【离散数学期复习系列】二、一阶逻辑(谓词逻辑)
  20. 朋友突然月入12k,原来是偷偷看了这个!

热门文章

  1. 大气颗粒物与区域复合污染——大气颗粒物的来源识别与解析方法
  2. Handler的一些思考
  3. 零基础JavaScript入门教程(37)-揭开JS对象的面纱
  4. 冲量在线通过国家公安部「信息系统安全等保三级」认证
  5. ZFS - vdev label 的加载与同步
  6. 基于树莓派和YS-LDV7语音识别模块实现声控灯
  7. mysql timestamp比较大小_MySQL中的datetime与timestamp比较
  8. 苹果欲收购东芝闪存 自己把控闪存技术
  9. NoSql简介、优点和缺点
  10. code规范 --- 驼峰命名法