网络请求

一直再用Xutils框架,感觉挺不错的

https://github.com/wyouflf/xUtils3

底部状态栏

https://github.com/yingLanNull/AlphaTabsIndicator

本地图片选择

https://github.com/tengyukun/imageselector

提示性UI

toast:

Toasty : https://github.com/hss01248/Toasty
带有状态的toast,有succes.error,warn,info,normal 五种,以及debug一种(只在debug模式下弹出).

dialog :

DialogUtil : https://github.com/hss01248/DialogUtil
囊括所有常见的通用型dialog,既有ios风格又有android风格.不需要activity引用即可弹出.
https://github.com/saiwu-bigkoo/Android-AlertView ios风格的dialog

notification

NotifyUtil: https://github.com/hss01248/NotifyUtil
api链式调用,摆脱原生的难用的api.封装了常用的通知模式.

必用的UI小组件

选择器:

https://github.com/Bigkoo/Android-PickerView

内置时间日期选择器,UI自定义配置很丰富
还有三级,二级,一级联动选择器

https://github.com/gzu-liyujiang/AndroidPicker

各种丰富的内置选择器:
包括日期选择器、时间选择器、单项选择器、城市地址选择器、车牌号选择器、数字选择器、星座选择器、生肖选择器、颜色选择器、文件选择器、目录选择器等

https://github.com/yangxu4536/MeiTuanLocateCity
仿美团城市选择界面,可直接用在实际项目中

https://github.com/Bigkoo/EasySideBar
一款按字母排序库,已封装好城市数据,风格仿美团,可定制化强。

多条件筛选菜单

https://github.com/dongjunkun/DropDownMenu
类似美团,爱奇艺电影票下拉菜单

优惠券效果

https://github.com/dongjunkun/CouponView

轮播图

https://github.com/glassLake/AndroidImageSliderByFresco 第一次进入有快速滚动两张的bug

https://github.com/saiwu-bigkoo/Android-ConvenientBanner

https://github.com/youth5201314/banner
多种模式 Android广告图片轮播控件,支持无限循环和多种主题,可以灵活设置轮播样式、动画、轮播和切换时间、位置、图片加载框架等!

快速分组侧边栏

https://github.com/saiwu-bigkoo/Android-QuickSideBar
https://github.com/CaMnter/EasyRecyclerViewSidebar
https://github.com/gjiazhe/WaveSideBar

给图片打标签

https://github.com/saiwu-bigkoo/Android-PictureTagView

滚动刻度尺

https://github.com/LichFaker/ScaleView

加减号控制数字增减

https://github.com/saiwu-bigkoo/Android-SnappingStepper

广告弹窗

https://github.com/yipianfengye/android-adDialog
功能比较丰富

状态栏变色

毫无疑问是这个:
https://github.com/jgilfelt/SystemBarTint
api封装一下,简化使用:
StatusbarUtil.java

文件下载

https://github.com/lingochamp/FileDownloader
专注于文件下载,各种高级特性.适用于对文件下载业务要求较高的项目

数据库

greendao太难用,还是ormlite好.
https://github.com/j256/ormlite-android
https://github.com/Raizlabs/DBFlow 这个api设计更优雅

数据库调试方式:
无需root.在浏览器端通过http请求的方式直接查看和操作数据库,方便快捷
https://github.com/amitshekhariitbhu/Android-Debug-Database

页面状态管理

https://github.com/hss01248/PageStateManager 我自己用的,基于鸿洋的库改进
https://github.com/arieridwan8/pageloader
https://github.com/weavey/LoadingLayoutDemo

工具类库

这个也没有疑问,就是这个高大全的库了:
https://github.com/Blankj/AndroidUtilCode

Rx全家桶

为什么没有retrofit? 因为它的api太难用了啊.设计很优美,但是使用起来坑太多,又繁琐.

RxAndroid

让你随意地切换线程

RxBinding

从此摆脱频繁点击导致的重复操作的烦恼

RxLifecycle

生命周期管理,减少内存泄漏

RxPermissions

6.0运行时权限

Rx Preferences

通过 RxJava 的方式来访问 SharedPreferences

键盘监听

键盘监听是android一大坑.
防止自动弹出键盘:
activity 标签里加android:windowSoftInputMode="stateHidden|stateAlwaysHidden"

https://github.com/yshrsmz/KeyboardVisibilityEvent

屏幕适配

https://github.com/hongyangAndroid/AndroidAutoLayout

UI特效

阴影效果

https://github.com/wangjiegulu/ShadowViewHelper
1.0.4效果不稳定,建议用1.0.2.

第三方库兼容性总还是存在一定问题,最靠谱的还是用drawable: 看这个: shadow.xml

水波纹效果

https://github.com/traex/RippleEffect 点击后产生水波纹,兼容到api9 补充: 发现在华为平板上会崩...

动画

https://github.com/florent37/ViewAnimator
A fluent Android animation library api封装简化使用

https://github.com/airbnb/lottie-android
parses Adobe After Effects animations exported as json with Bodymovin and renders them natively on mobile

https://github.com/lgvalle/Material-Animations

loading动画

https://github.com/race604/WaveLoading : provides a wave loading animation as a Drawable. 也就是说,可以设置给任意一个view当背景

换皮肤主题

https://github.com/hongyangAndroid/ChangeSkin 一键换肤

https://github.com/garretyoder/Colorful 任何时候都能代码动态修改 主题色,摆脱了xml的限制

把textview 玩出花来

https://github.com/thoughtbot/stencil 渐渐出现的动画

文件和缓存相关

https://github.com/vincentbrison/dualcache
This android library provide a cache with 2 layers, one in RAM in top of one disk.

https://github.com/baoyongzhang/Treasure
Very easy to use wrapper library for Android SharePreferences

content-provider

https://github.com/EverythingMe/easy-content-providers

原生组件的扩展

edittext

https://github.com/rengwuxian/MaterialEditText
https://github.com/bufferapp/BufferTextInputLayout 对design包里的TextInputLayout的一个扩展

原生EditText在不同android版本上效果不一样,绝对不能用.

  • 可以用appcompat包里的AppCompatEditText,
  • 或者用design包里的TextInputEditText.
  • 如果UI是自己搞,那么直接用TextInputLayout+TextInputEditText,各种提示UI,显示隐藏密码,基本的校验都集成了.
    使用很简单,看这里:TextInput详解 · Material Design Part 1

button

写那么多的selector烦死人了,用这个吧:
https://github.com/niniloveyou/StateButton

viewpager

https://github.com/Devlight/InfiniteCycleViewPager

禁止左右滑动

@Overridepublic boolean onTouchEvent(MotionEvent event) {return this.isCanScroll && super.onTouchEvent(event);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent event) {return this.isCanScroll && super.onInterceptTouchEvent(event);}

shape 和selector

写xml太麻烦,直接用上java代码:通过代码定义shape/selector

listview和recycleview

https://github.com/CymChad/BaseRecyclerViewAdapterHelper 对多类型的支持一般般?
https://github.com/EvilBT/SherlockAdapter

https://github.com/WuXiaolong/PullLoadMoreRecyclerView 少定制,快速上手
https://github.com/hongyangAndroid/baseAdapter 鸿洋大神出品
关于Android RecyclerView的那些开源LayoutManager

下拉刷新

看这个汇总就好了:
https://github.com/android-cjj/BeautifulRefreshLayout

第三方分享和登录,统计

使用友盟的sdk,然后再封装一层
参见第三方登录/分享最佳实践
自己封装的一个:
https://github.com/hss01248/UmengUtil
对umeng分享,第三方登录以及统计的api的封装,避免再出现api大幅改动而到处改源码.真正的一行代码完成分享和登录
注:上面最佳实践的一些好的思路还没有整合到这个库中,目前只集成了qq,weixin,sina三家.

第三方推送

集成第三方推送最佳实践
一句话来,小米rom就用小米推送,其他用友盟推送,更细致一点,还可以华为rom用华为推送

权限申请

6.0以下的悬浮窗权限申请,以及判断:
https://github.com/hss01248/FloatWindowPermission
6.0以上,运行时权限,还包括悬浮窗权限,以及读写sd卡权限(非运行时,但华为手机和平板要求):
RxPermissions:
https://github.com/tbruyelle/RxPermissions

二维码扫描

基本上都是基于z-xing封装

BGAQRCode-Android 我用的是这个
barcodescanner 这个也很多人推荐

音频录制和播放

音频录制

当然是录制成跨平台的mp3格式:

https://github.com/hss01248/AndroidMP3Recorder

基于start最多的AndroidMP3Recorder项目改进,经受了一个实际线上项目两年的考验
特点: 边录边转码,暂停可播,方法安全,回调丰富,6.0以下权限也适配了

音频播放

mediaplayer 难用得你想死,有木有?路径设置很多rom互相不承认.操作方法不安全,各种异常.都给你封装好了:

https://github.com/hss01248/SafeMediaPlayer

视频相关

短视频录制和播放:

第三方的趣拍已经收费了,一年5万,略贵.下面这个是开源中比较好的,不过没有特效.

https://github.com/mabeijianxi/small-video-record

有特效的要收费,比如这个,录制过程中有滤镜,录制后贴图,加音乐.

https://github.com/rdsdk/rdVideoEditSDK-for-Android

视频播放

  • Vitamio
    支持格式较多,稳定性高,性能较高,功能强大,开发难度低。个人使用免费,商业使用收费.但是,已经停止更新了.
    https://github.com/yixia/VitamioBundle
  • ijkplayer
    目前国内最火的,bilibili开源的.
    https://github.com/Bilibili/ijkplayer
    基于ijk的丰富的功能封装库:
    https://github.com/CarGuo/GSYVideoPlayer
    基于ijk的界面封装:(不如上一个丰富)
    https://github.com/jjdxmashl/jjdxm_ijkplayer

android上建轻量级http服务器

本质上是提供http通信渠道
下面的库,是用java原生的serversocket来接收信息,然后用org.apache.http包来解析http相关信息,然后自己像写severlet一样处理.

https://github.com/yanzhenjie/AndServer

进程保活

对比了github的几个star数较多的库,最终选择HelloDaemon,这个库是在其他两个库基础上的改进.

相关理论文章:
Android进程保活的研究与实践
Android 进程常驻(2)----细数利用android系统机制的保活手段

  • HelloDaemon : 保活措施优秀,回调处理得好
  • MarsDaemon 即使允许自启,强杀后也无法自启
  • AndroidDaemonService 即使允许自启,强杀后无法自启

代码优化

findbugs 插件+ PMD插件+ 配置CheckStyles(规范代码格式)
参见 https://juejin.im/post/58d4e35261ff4b00605326d9

渠道打包

  • 360加固宝 : 神速,还会加上360自己的一些统计功能
  • packer-ng-plugin : 号称下一代Android打包工具,100个渠道包只需要10秒钟.但没有具体用过

云存储

  • 七牛云: 云端图片处理功能真是牛逼上了天.之前还根据他们的api封装了个工具类:QiniuUtils
  • 阿里云: 看api文档,该有的云端处理功能也有,但没有实际用过.有用过的吗?说说看

一些牛逼的小技巧

awesome-android-tips
Android 系统中,那些能大幅提高工作效率的 API 汇总
Android开发中,那些让你相见恨晚的方法、类或接口
android-tips-tricks-cn
corelink

提升开发效率工具汇总

Android攻城狮—全套必备神级工具(开发,插件,效率)

以下不算技术选型,仅做备忘

几个全套型快速开发框架 -学习coding skill 用

https://github.com/meikoz/Basic
https://github.com/minggo620/Pluto-Android

别人总结的开源项目大礼包

https://github.com/Tim9Liu9/TimLiu-Android
https://github.com/Lafree317/ShareAndroidResource
https://github.com/limedroid/XDroid/wiki
https://github.com/aritraroy/UltimateAndroidReference

Android 技术选型相关推荐

  1. android progressbar 不显示_Android多线程技术选型最全指南(1)

    码个蛋(codeegg) 第 935 次推文 作者:qing的世界 链接:https://juejin.im/post/5d1eb4acf265da1bb003de71 前言 前段时间在组内做了一下现 ...

  2. Android无埋点的技术选型之路

    数极客是国内新一代用户行为分析平台,支持无埋点采集,前端代码埋点采集,后端代码埋点采集等多种混合数据采集方式,支持30多种数据可视化效果,是增长***必的备大数据分析工具,支持APP分析数据网站分析及 ...

  3. 简说创业公司的技术选型,从BearyChat的开发说起

    简说创业公司的技术选型,从BearyChat的开发说起 发表于2015-07-28 16:25| 3491次阅读| 来源CSDN| 5 条评论| 作者蒲婧 CTOCTO俱乐部创业工具管理实践CTO讲堂 ...

  4. SSO模型及单点登录SSO技术选型

    一.多系统的复杂性 web系统早已从久远的单系统发展成为如今由多系统组成的应用群,面对如此众多的系统,用户难道要一个一个登录.然后一个一个注销吗?就像下图描述的这样 web系统由单系统发展成多系统组成 ...

  5. 短视频自研还是选择第三方?技术选型前必看的自检清单

    2017 年,短视频成为了内容创业的新风口,各种短视频 App 如雨后春笋般先后上线.随着互联网内容消费升级,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 为了能够更好地聚焦于业 ...

  6. .net开源框架简介和通用技术选型建议

    .net体系 .net core .net 类库 asp.net mvc asp.net webapi asp.net core EF 跨平台和运行时解决方案(解决方案) Katana:微软基于OWI ...

  7. 移动web现状、viewport视口、二倍图、移动web开发主流方案、布局技术选型(流式布局、flex弹性布局、less+rem+媒体查询布局、混合布局、媒体查询、bootstrap)

    移动端web现状: 移动端常见浏览器:UC浏览器,QQ浏览器,Opera浏览器,百度手机浏览器,360安全浏览器,谷歌浏览器,搜狗手机浏览器,猎豹浏览器及杂牌浏览器.移动端常见的浏览器都是基于webk ...

  8. 【译】前端框架技术选型 React vs. Vue (vs. Angular)

    这是该系列文章的第2部分:"Fundbox的前端技术选型".第1部分介绍了Fundbox的技术现状以及我们重新设计它的动机.第2部分介绍了选择新框架背后的考虑:是迁移到React, ...

  9. 开发者该如何进行小程序技术选型?

    作者 | 沧海 责编 | Elle 现在小程序开发是越来越火了,除了微信小程序,还有阿里.百度等,都在自己的APP中内置了小程序.而且现在市场上对于小程序的需求也是很多的,跟专门的APP比起来,开发成 ...

最新文章

  1. 2.5 学习词嵌入-深度学习第五课《序列模型》-Stanford吴恩达教授
  2. 步进电机编写单4拍或4-8拍方式的汇编或c语言控制程序.,(毕业设计)基于单片机的步进电机控制系统(汇编及C语言程序各个)...
  3. jvm字节码和基于jvm的多语言混合编程
  4. php mysql 值是否存在_php检测mysql表是否存在的方法小结
  5. spark学习:java版JavaRDD与JavaPairRDD的互相转换
  6. const 在C++中的区别
  7. 将检索出来的列按逗号拼接起来
  8. java将图片上传数据库_〔技巧实例〕轻松实现将上传图片到数据库
  9. 从自监督到全监督!Google 提出新损失函数SupCon,准确率提升2%!
  10. Linux系统内存管理实验报告,Linux 内存管理 综合实验报告.pdf
  11. 项目升级-加密的参数传递到后台然后解密(相当于重新封装下request)
  12. wxPython:当密码账号输入正确,登录界面消失并显示主界面
  13. clion解决中文乱码的问题
  14. matlab画图时如何将坐标设置为中文宋体,英文新罗马字体
  15. 阿里云云计算助理工程师认证(ACA)
  16. linux wifi名称设置中文乱码,无线wifi名称怎么改成中文乱码的方法
  17. 网络营销试卷(参考答案及评分标准)
  18. 双向广搜-HDU1401 Solitaire
  19. python爬虫抓取千千音乐网站的歌曲
  20. quartz不正常执行.执行一段时间后无故停止

热门文章

  1. 大学想报计算机专业,暑假想要自学,有哪些建议?
  2. Excel对比两列数据相同的在第三列打印出来
  3. 学校报名测评小程序开发制作功能介绍
  4. 【Web开发】Python实现Web服务器(Sanic)
  5. 疫情期间,Java菜鸟“面霸”养成记!(中兴+腾讯+乐视+京东.....)
  6. html的div的间隙,解决DIV浮动间隙
  7. 清理linux日志的命令
  8. XCS30XL-4TQG144C相关介绍
  9. Nor Flash笔记--看一图看懂并学会计算Flash大小
  10. 音频拼接在一起怎么做?这篇文章来告诉你