《Android经验分享》周刊第10期

《Android经验分享》收录国内外最近一周热门的技术博客以及优秀的类库,星期一傍晚将准时更新给你们html

微信公众号:Android经验分享
QQ讨论群:386067289

本文已受权微信公众号:Android经验分享,在微信公众号平台原创首发。java

热点新闻
1.谷歌为Play商店推全新广告模式:游戏试玩
在近期举办的GDC2017(游戏开发者大会)上,谷歌公布了一项Google Play商店的新功能——Playables,这个新功能其实是一种全新的广告模式:用户在看中一个游戏以前,能够先玩一下该游戏的“精简版“,而后再决定是否购买。linux

2.1月中国智能手机市场:苹果iPhone微增,小米大跌
数据研究机构赛诺发布了2017年1月中国智能手机市场报告,其中OPPO和vivo再次成为赢家,销售量分别增加12.9%和13.7%,夺得冠亚军的头衔。此外,iPhone的销售量也微增1.8%,排名第三,并且其销售额达到269亿元,占据总体市场29.4%的份额,目前占时无人能撼动。android

热门博客
1.Android架构那些事之第三方库的隔离
咱们在开发的过程当中会不可避免的引用一些第三方库,好比网络请求库、图片加载库等等。就拿图片加载库来讲,程序中不会只有一个地方来引用到此库,可能有N个类会用到此库来显示图片。这种状况下,就能够经过一个中间层来引用“第三方图片加载库”。这样作的好处是无论第三方图片加载库换成Picasso仍是Glide,只需改变中间层,其余的一行代码都不须要改动。阅读文章,了解详细方案。git

2.Android LayoutInflater源码解析
你们对LayoutInflater必定不陌生,LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,咱们能够称之为布局加载器。在Fragment的onCreateView方法、ListView Adapter的getView方法等许多地方均可以见到它的身影。本文详细介绍了LayoutInflater的用法以及加载布局的工做原理。github

3.Android 组件化之通讯(多模块,多进程)
以前写过一篇Android组件化开发实践,组件化最直接的表现形式就是工程中包含了多个业务Module,代码要解耦,可是业务间要解耦几乎是不可能的,因而就要涉及到业务间的通讯,表如今代码上就是Module间通讯。小程序

4.高效编写微信小程序
微信小程序是一个工程,就和盖房子同样,打好了地基,才能保证后续工程师创建在可靠牢固的基础上。微信小程序

5.常见排序的java实现
包括插入排序(二分插入排序)、希尔排序、快速排序(三数中值快排)、冒泡排序、选择排序、堆排序、归并排序、基数排序、计数排序、桶排序、睡眠排序缓存

6.Android 系统中,那些能大幅提升工做效率的 API 汇总(持续更新中...)
“条条大路通罗马。”工做中,实现某个需求的方式每每不是惟一的,这些不一样实现方式不只表如今代码质量上,还影响着咱们的工做效率。就像,在 Android 系统中,总有那么一些不为人知的 API 可以减小咱们不少零碎的工做量。因而,就想凭着一些经验,整理一些经常使用的,找个地方概括总结,也供往后翻阅。安全

7.Android开发时,那些相见恨晚的工具或网站!
在实际Android开发过程确实会有不少相见恨晚的工具或网站出现,下面是我本身的一些分享。

8.最全面的 Material Design 学习资料
Material Design 是之后 Android 的主流设计风格,如今已经愈来愈多的APP遵循 Material Design 的设计规范来进 行开发,是每一个 Android 开发者必学的基础技术。

9.细细品读!深刻浅出,官方文档看ConstraintLayout
ConstraintLayout是一个Support库,意味着向前兼容,它能够兼容至API 9,也就是Android 2.3,鉴于如今市场上手机基本都是2.3及以上的,因此若是不是特殊状况,开发者能够不用考虑版本问题。

10.Android 7.0应用冷启动流程分析
所谓冷启动就是启动应用时,后台没有该应用的进程,此时系统会建立一个进程分配给它(AMS经过Socket和Zygote通讯,Zygote经过forkAndSpecialize()方法向Linux内核申请新进程),以后会建立和初始化Application,而后经过反射执行ActivityThread中的main方法。本文结合源码,详细分析了应用冷启动的过程。

受欢迎的类库
1.RefreshLayout
项目特色 支持 RecycView、Listview、ScrollView、各类布局控件实现下拉刷新和上拉加载; 该项目的设计结构和总体业务逻辑清晰,各细节功能点的处理考虑全面; 对项目的总体开发步骤以及全部晦涩难懂的点,都有详细注释,很是适合中高端工程师学习并进行二次开发

2.AppUpdate
Android 检测更新库

3.Android-Router
高性能,灵活,简单易用的轻量级 Android 组件化协议框架,用来解决复杂工程的互相依赖,解耦出的单个模块有利于独立开发和维护。

4.HtmlCompat
Compatibility library for Android's Html class.

5.FadingTextView
A textview that changes its content automatically every few seconds

6.MarkdownView
Android library to display markdown text.

7.materialChipView
Material Chip view. Can be used as tags for categories, contacts or creating text clouds

8.dexknife-wj
Android Studio 下的 apk 加固插件,支持签名校验和 dex 加密

9.LeonEasyPermissions
android6.0+权限请求工具类的简单封装

10.ShortcutBadger
An Android library supports badge notification like iOS in Samsung, LG, Sony and HTC launchers.

完整项目
1.ListenerMusicPlayer
一款优雅的遵循 Material Design 的开源音乐播放器,UI参考 腾讯轻听 音乐播放器,使用 Lastfm Api 与 酷狗歌词Api。项目架构采用 mvp-clean,基于 Retrofit2 + Dagger2 + Rxjava + RxBus + Glide。
技术要点:

  • 遵循 Material Design 规范,界面清新,交互优雅。
  • 基于 MVP-CLEAN + Retrofit2 + Dagger2 + Rxjava + Glide
  • 功能模块: 个人歌曲、个人歌单、文件夹、我喜欢、最近播放、最- 近添加、播放排行、本地搜索等。
  • 支持显示歌词及缓存
  • 支持耳机线控播放,耳机拔出自动暂停
  • 动态刷新媒体库,及时获知媒体文件变动
  • 日夜间模式切换,支持动态换肤

效果预览图:

周刊外话
1.阿里聚安全 2016 年报
《阿里聚安全2016年报》发布,本报告重点聚焦在2016年阿里聚安全所关注的移动安全及数据风控上呈现出来的安全风险,在移动安全方面重点分析了病毒、仿冒、漏洞三部分,帮助用户了解业务安全端安全方面应该注意的风险,以后会描述阿里聚安全在业务安全防控方面作的一些努力和观点,帮助企业在建设互联网业务安全时,考虑安全策略和防御应该往哪部分倾斜。 

更多精彩文章请关注微信公众号"Android经验分享":这里将长期为您分享Android高手经验、中外开源项目、源码解析、框架设计和Android好文推荐!

扫一扫加我哦