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

涂泰平
2023-12-01

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

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

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

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

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

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

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

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好文推荐!

扫一扫加我哦
 类似资料: